How to add a fragment to the middle of FragmentStatePagerAdapter
I want to add a Fragment to the middle of the FragmentStatePagerAdapter using PagerSlidingTabStrip. But I can only add a new Fragnent at the end of the adapter. Here is the code:
public class TabsPagerAdapter extends FragmentStatePagerAdapter {
private ArrayList<String> TABS = new ArrayList<String>();
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
TABS.add("First");
TABS.add("Second");
TABS.add("Third");
}
@Override
public Fragment getItem(int position) {
return CardFragment.newInstance(position);
}
@Override
public Parcelable saveState() {
return super.saveState();
}
@Override
public int getCount() {
return TABS.size();
}
@Override
public String getPageTitle(int position) {
return TABS.get(position);
}
}
Here I am adding a new snippet
adapter.TABS.add(1, "ffff");
adapter.notifyDataSetChanged();
int k = viewPager.getCurrentItem();
viewPager.setCurrentItem(k + 1);
pagerSlidingTabStrip.notifyDataSetChanged();
+3
rz0
source
to share
1 answer
I am facing a similar problem, I resolve it, call again setAdapter()
before setCurrentItem
, otherwise it will never update until the list is scrolled to index middleIndex + 2:
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(middleIndex);
0
林果 皞
source
to share