Проверьте содержимое ViewPager, не принимая ввод

У меня есть приложение, в котором есть просмотрщик. Я хочу это проверить. Поэтому у меня есть тестовый цикл:

public class MyActivityTest extends
        ActivityInstrumentationTestCase2<MainActivity> {

       public void testStartQuestionaryActivity() throws Exception {

            Instrumentation.ActivityMonitor monitor =
                    getInstrumentation().
                            addMonitor(MainActivity.class.getName(), null, false);


           while(notAtEnd()) {


                  CheckBox checkBox1 = (CheckBox) mActivity.findViewById(com.appical.R.id.checkBox1);
TouchUtils.tapView(this, checkBox1 );
getInstrumentation().invokeMenuActionSync(mActivity, com.appical.R.id.menu_forward, 0);
                 getInstrumentation().waitForIdleSync();

                   ...
                 } //while

Setting the checkbox for the first time works - the checkbox is checked before going to the next page. On page 2 I can see that object is updated, but it does not get checked.

(Checkbox)((ViewPager) mActivity.findViewById(...)).findViewById(... checkbox)

но безуспешно

Thanks Tata

1 ответ

Хорошо, это сводится к этому:

int current = viewPager.getCurrentItem();
            int childCount = viewPager.getChildCount();
            // If there's a single page or we're at the beginning, return the first view
            if (childCount == 1 || current == 0) {
                view = viewPager.getChildAt(0);
            } else { //For any other case, we want the second child. This is either the last page or the page in the middle for any other case.
                view = viewPager.getChildAt(1);
            }
Другие вопросы по тегам