세 개의 조각 인 구성 요소를 새로 고쳐야하는보기 호출기가 있습니다. 지정된 아이가 이미 부모가 : 내가보기를 제거하고 새로운보기 는, 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];
}
여전히 같은 오류 –