用于循环循环

时间:2016-12-30 04:02:54

标签: java android for-loop android-viewpager android-tablayout

我的问题是我在标签布局中创建了8个viewpager。假设我想要3个视图页面,我需要但我想删除其余页面。

这是我添加标签的代码,我使用for循环删除其余标签,但错误"索引6无效,大小为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);
    }

2 个答案:

答案 0 :(得分:0)

int ans=3;         //you need only 3

for(int i =8 ; i>ans ; i--)   //i for total count. make sure that size
{

    adapter.removeFragment(i);//it remove the pager 8,7,6,5,4
}

答案 1 :(得分:0)

我认为你已经使用了i

List删除索引i处的元素时,会移动索引大于ans的元素。

在您的情况下,当6成为List时,0 to 5有六个元素,其索引可以是{{1}}。