我有包含两个片段[ Fragment 1]
[Fragment 2]
的ViewPager
。现在,根据[Fragment 1]
中的选择,将向ViewPager
添加一个新片段它看起来像这个
[Fragment 1]
[NewAddedFragment]
[Fragment 2]
并且还基于第一片段中的用户选择,我可以从ViewPager
中移除NewAddedFragment
。然后它会看起来像
[ Fragment 1]
[Fragment 2]
查看实现"FragmentPagerAdapter",并且某些内容将包含一个集合类型字段,如支持适配器的ArrayList。
根据dataStructure的实现,您可以通过在fragmentpageradapter上调用相应的add、set、insert方法来更改底层集合。
然后,您在ViewPager中获取新页面的下一个调用应该反映对基础集合的更改。如果没有,你可能不得不在FragmentManager上调用"提交",但我认为在这种情况下不需要这样做。
公共类BookPagerAdapter扩展FragmentPagerAdaper{private int currentPage=0;private ArrayList mFragments;
public BookPagerAdapter(FragmentManager fm) {
super(fm);
mFragments = new ArrayList<Fragment>();
mFragments.add(new PageFragment(BitmapFactory.decodeResource(getResources(),
R.drawable.icon_construction32), "TitlePage"));
}
更改集合的示例:
bpa.mFragments.add(new PageFragment(map));