私は3つのフラグメントであるコンポーネントを更新する必要があるビューページャを持っています。指定された子は、すでに親を持っている: は、私は、ビューを削除し、新しいビューに setadapterメソッドを追加することViewPagerフラグメントをリフレッシュする
java.lang.IllegalStateExceptionスローします。子の親で最初にremoveView()を呼び出す必要があります。
私は
viewPager.removeAllViews();
viewPager.setAdapter(new SampleFragmentPagerAdapter(getChildFragmentManager()));
アダプタのコードを新しいアダプタを設定する前に、ポケットベルからすべてのビューを削除しますが
public class SampleFragmentPagerAdapter extends FragmentStatePagerAdapter {
final int PAGE_COUNT = 3;
SettingRTL settingRTL = new SettingRTL();
private String tabTitles[] = new String[]{"News", "Articles", "Reports"};
private String tabTitlesA[] = new String[]{"الأخبار", "المقالات", "التقارير"};
public SampleFragmentPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return PromosFragment.newInstance(0, "Page # 1");
case 1:
return ArticlesFragment.newInstance(1, "Page # 2");
case 2:
return OtherFragment.newInstance(2, "Page # 3");
default:
return null;
}
}
@Override
public CharSequence getPageTitle(int position) {
if (settingRTL.getCurrentLang().equals("العربية")) {
return tabTitlesA[position];
}
return tabTitles[position];
}
まだ同じエラー –