我在FragmentPagerAdapter中有〜20個片段,其中包含一個列表,它從中選取片段,因此不會重新創建片段。FragmentPagerAdapter中的Android更改片段順序
private List<TitledFragment> fragments;
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
this.fragments = new ArrayList<TitledFragment>();
}
@Override
public Fragment getItem(int i) {
return fragments.get(i).getFragment();
}
@Override
public int getCount() {
return fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return fragments.get(position).getTitle();
}
public synchronized List<TitledFragment> getFragments() {
return fragments;
}
public synchronized void addFragment(TitledFragment fragment) {
fragments.add(fragment);
notifyDataSetChanged();
}
的FragmentPagerAdapter設置爲ViewPager的適配器之後,我重新排列片段(洗牌只是爲了測試)
Collections.shuffle(mSectionsPagerAdapter.getFragments());
mSectionsPagerAdapter.notifyDataSetChanged();
出於某種原因,只有標題的順序被改變,即使它爲getItem返回不同的片段,因爲順序不同。這是爲什麼,我該如何解決它?
我可以證實這是一個很好的解決方案!謝謝! –