私の問題は、8つのビューページをタブレイアウトで作成したことです。 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);
}
「ans」はどこですか? –
'i'のポイントは何ですか? 'for(; ans <=; ans ++)'と同じです。 'i'は決して変更しないからです。代わりに、 'for(int i = 8; i> = ans; i--){adapter.removeFragment(i);}を試してください。 } 'を使用して、最後から削除します。したがって、削除中にインデックス値はそのまま残ります。 – Andreas
sry、質問編集 – AnthonyTang