Моя проблема в том, что я создал 8 viewpager в макете вкладок. Предположим, мне нужны 3 страницы просмотра, которые мне нужны, но я хочу удалить остальные.For loop Looping
Это мой код для добавления вкладок, и я использую цикл для удаления остальных вкладок, но есть ошибка «Недопустимый индекс 6, размер 6» и, как результат, он не выполняет мое требование. Как отрегулировать функцию loop for looping.
BasePagerAdapter adapter = new BasePagerAdapter(getSupportFragmentManager());
Tab1 tab1 = new Tab1();
Tab2 tab2 = new Tab2();
Tab3 tab3 = new Tab3();
Tab4 tab4 = new Tab4();
Tab5 tab5 = new Tab5();
Tab6 tab6 = new Tab6();
Tab7 tab7 = new Tab7();
Tab8 tab8 = new Tab8();
Tab9 tab9 = new Tab9();
adapter.addFragment(tab1, "All");
adapter.addFragment(tab2, "1");
adapter.addFragment(tab3, "2");
adapter.addFragment(tab4, "3");
adapter.addFragment(tab5, "4");
adapter.addFragment(tab6, "5");
adapter.addFragment(tab7, "6");
adapter.addFragment(tab8, "7");
adapter.addFragment(tab9, "8");
//Initializing viewPager
viewPager = (ViewPager) findViewById(R.id.pager);
//Creating our pager adapter
//Adding adapter to pager
viewPager.setAdapter(adapter);
int ans =3;
for(int i =8 ; ans<=i ; ans++) {
adapter.removeFragment(ans);
}
где находится '' ans''? –
В чем смысл 'i'? 'for (int i = 8; ans <= i; ans ++)' такой же, как 'for (; ans <= 8; ans ++)', так как вы никогда не меняете 'i'. Вместо этого попробуйте 'for (int i = 8; i> = ans; i--) {adapter.removeFragment (i); } ', чтобы удалить их с конца, поэтому значения индекса остаются неизменными во время удаления. – Andreas
sry, вопрос отредактировал – AnthonyTang