Android Viewpager如何动态删除片段?

时间:2013-08-27 14:58:54

标签: android android-fragments android-viewpager fragmentpageradapter notifydatasetchanged

在我的应用程序中构建功能允许用户从Viewpager中删除页面/片段时,我已经苦苦挣扎了几天,我尝试将FragmentPageAdapter更改为FragmentStatePageAdapter并覆盖getItemPosition()到{{但是,当我调用return POSITION_NONE;

时,这仍然不允许我动态删除片段
fragments.remove(page);

以前有人成功完成了这项工作吗?看起来它应该非常简单,但它一直没有,下面是我的片段适配器,任何帮助都会有很长的路要走!

pageAdapter.notifyDataSetChanged();

1 个答案:

答案 0 :(得分:2)

使用杰克沃顿的ViewPagerIndicator。它还有一个带有此功能的开源示例应用程序(在选项菜单中添加和删除片段)。

将它放入适配器:

public void setCount(int count) {
    if (count > 0 && count <= 10) {
        mCount = count;
        notifyDataSetChanged();
    }
}

这是添加页面:

    if (mAdapter.getCount() < 10) {
        mAdapter.setCount(mAdapter.getCount() + 1);
        mIndicator.notifyDataSetChanged();
    }

这是删除页面的方法:

if (mAdapter.getCount() > 1) {
                mAdapter.setCount(mAdapter.getCount() - 1);
                mIndicator.notifyDataSetChanged();
            }