4

我有ViewPager包含两个 Fragments [ Fragment 1] [Fragment 2]。现在基于[Fragment 1] 新片段中的选择将添加到ViewPager ,它看起来像这样

[Fragment 1] [NewAddedFragment] [Fragment 2]

并且还基于第一个片段中的用户选择,我可以删除NewAddedFragmentfrom ViewPager。然后它看起来像

[ Fragment 1] [Fragment 2]

4

1 回答 1

-1

查看实现“FragmentPagerAdapter”的“适配器”,并且某些内容将包含一个集合类型字段,例如支持适配器的 ArrayList。

根据 dataStructure 的实现,您可以通过在 fragmentpageradapter 上调用相应的 add、set、insert 方法来更改底层集合。

然后,您在 ViewPager 中获取新页面的下一次调用应该反映对基础集合的更改。如果不是,您可能必须在 FragmentManager 上调用“提交”,但我认为在这种情况下不需要这样做。

公共类 BookPagerAdapter 扩展 FragmentPagerAdapter { private int currentPage = 0; 私有 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));
于 2013-04-09T15:10:52.117 回答