有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用PagerSlidingTabStrip删除选项卡?

我已经使用PagerSlidingTabStrip在安卓中创建了一个应用程序

我已经使用适配器和片段创建了选项卡

当我尝试使用删除视图时

viewPager.removeView(getView());
adapter.notifyDataSetChanged();

视图是隐藏的,但应用程序向我显示一个空视图,选项卡标题保持不变


共 (2) 个答案

  1. # 1 楼答案

    我没有测试这个,但它应该是大致如下的:

    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)
        }
    }
    
  2. # 2 楼答案

    我终于想出了办法

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

    这是工作代码