Проверьте содержимое 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);
}