gpt4 book ai didi

android - FragmentStatePagerAdapter中间如何添加Fragment

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:49 25 4
gpt4 key购买 nike

我想使用 PagerSlidingTabStrip 将 Fragment 添加到 FragmentStatePagerAdapter 的中间。但是我只能在 Adapter 的最后添加新的 Fragnent。这是代码:

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);
}


}

这里是我添加新 fragment 的地方

adapter.TABS.add(1, "ffff");

adapter.notifyDataSetChanged();

int k = viewPager.getCurrentItem();
viewPager.setCurrentItem(k + 1);

pagerSlidingTabStrip.notifyDataSetChanged();

最佳答案

我遇到了类似的问题,我通过在 setCurrentItem 之前再次调用 setAdapter() 来解决它,否则它将永远不会更新,直到列表滚动到索引 middleIndex+2:

viewPager.setAdapter(adapter);
viewPager.setCurrentItem(middleIndex);

关于android - FragmentStatePagerAdapter中间如何添加Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25307346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com