【发布时间】:2016-12-30 13:34:24
【问题描述】:
我的问题是我在选项卡布局中创建了 8 个 viewpager。假设我想要 3 个视图页面,我需要这些页面,但我想删除其余页面。
这是我添加选项卡的代码,我使用 for 循环删除剩余的选项卡,但出现错误 “Invalid index 6, size is 6”,因此它没有满足我的要求。如何调整我的 for 循环功能。
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); }从末尾删除它们,以便索引值在删除过程中保持不变。 -
抱歉,问题已编辑
-
然后 ans++;在循环为 4 之前,将为您提供 3 个您需要的标签
标签: java android for-loop android-viewpager android-tablayout