如何使用PagerSlidingTabStrip删除标签?

时间:2015-06-18 22:16:19

标签: java android pagerslidingtabstrip

我使用PagerSlidingTabStrip在android中创建了一个应用程序。

我使用适配器和片段创建了标签。

当我尝试使用

删除视图时
viewPager.removeView(getView());
adapter.notifyDataSetChanged();

视图已隐藏,但应用程序向我显示一个空视图,标签标题仍然存在。

2 个答案:

答案 0 :(得分:0)

我没有对此进行测试,但这将是:

public class SectionsPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragments = new ArrayList<>();
    private final List<String> mFragmentTitles = new ArrayList<>();

    public SectionsPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    public void addFragment(Fragment fragment, String title) {
        mFragments.add(fragment);
        mFragmentTitles.add(title);
    }

    public void removeFragment(int position) {
        mFragments.remove(position);
        mFragmentTitles.remove(position);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragments.get(position);
    }

    @Override
    public int getCount() {
        return mFragments.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentsTitles.get(position)
    }
}

答案 1 :(得分:0)

我终于明白了如何做到这一点

@Override
public int getItemPosition(Object object)
{
    int index = fragments.indexOf(object);
    if (index == -1)
        return POSITION_NONE;
    else
        return index;
}

这是工作代码!!!