如何在不干扰 FragmentPagerAdapter 中的当前片段的情况下添加下一组片段?

How to add nextset of fragments without disturbing current fragments in FragmentPagerAdapter?

这是第一次添加片段的代码`

`if(mcursor==null) { items = (ArrayList) cnews.getItems(); mcursor = cnews.getNextPageToken();

        for (int i = 0; i < items.size(); i++) {

            Fragment cm = ContentFragment.newInstance(i, items.get(i).getTitle(),
                    items.get(i).getImageuri(), items.get(i).getDate(), items.get(i).getPublsher(), items.get(i).getDescription());
            frags.add(cm);

        }
        viewPager.setAdapter(new ContentfragmentAdapter(getSupportFragmentManager(), frags));

    }else{
        items = (ArrayList<News>) cnews.getItems();
        mcursor = cnews.getNextPageToken();
        for (int i = 0; i < items.size(); i++) {

            Fragment cm = ContentFragment.newInstance(i, items.get(i).getTitle(),
                    items.get(i).getImageuri(), items.get(i).getDate(), items.get(i).getPublsher(), items.get(i).getDescription());
            frags.add(cm);

        }

在其他情况下,我想在服务器后添加更多片段 call.How 我可以在不删除旧片段的情况下更新适配器吗?

请帮助我,我是 android 开发的新手。 提前致谢。

这里的关键部分之一是您必须调用

notifyDataSetChanged()

在适配器上,以便相应地更新底层数据结构 包括触发 ViewPager 的重绘。 也不要忘记 getCount() 还必须 return 预期的元素数量(即此处没有硬编码值)

public class SectionsPagerAdapter extends FragmentPagerAdapter {

    List<String> tagList;

    public SectionsPagerAdapter(FragmentManager fm) {
        super(fm);
        tagList = new ArrayList<>();

    }

    @Override
    public Fragment getItem(int position) {
        // getItem is called to instantiate the fragment for the given page.

        return PlaceholderFragment.newInstance(tagList.get(position));
    }

    @Override
    public int getCount() {

        return tagList.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {

        return "SECTION "+(position+1);
    }

    public void add(int position, String key)
    {
        tagList.add(position, key);
        notifyDataSetChanged();
    }



}