繁体   English   中英

TabsIcons在我刷新ViewPager之后通过适配器消失

[英]TabsIcons disappear after my refresh viewPager by adapter

问题!

我正在使用带有图标的TabLayout,这是我的适配器

public class ViewPagerIconsAdapter  extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();

    public ViewPagerIconsAdapter(FragmentManager manager) {
        super(manager);
    }

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

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

    public void addFragment(Fragment fragment) {
      mFragmentList.add(fragment);
    }

    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return "";
    }
}

这就是我使用适配器在ViewPager中添加片段并在TabLayout中显示图标的方式

tabLayout = (TabLayout)findViewById(R.id.tabLayout);
viewPager = (ViewPager)findViewById(R.id.viewpager);

viewPager.setOffscreenPageLimit(3);
setupViewPager(viewPager);
tabLayout.setupWithViewPager(viewPager);
setupTabIcons();

setupViewPager方法

adapter = new ViewPagerIconsAdapter(getSupportFragmentManager());
adapter.addFragment(new Fragment1());
adapter.addFragment(new Fragment2());
adapter.addFragment(new Fragment3());
viewPager.setOffscreenPageLimit(3);
viewPager.setAdapter(adapter);

setupTabIcons方法

tabLayout.getTabAt(0).setIcon(tabIcons[0]);
tabLayout.getTabAt(1).setIcon(tabIcons[1]);
tabLayout.getTabAt(2).setIcon(tabIcons[2]);

问题是当我使用notifyDataSetChanged刷新viewPager时,所有图标都消失了。

adapter.notifyDataSetChanged();

有人可以有个主意吗?

如果您的图标是固定的,请尝试以下操作:tabLayout.setupWithViewPager(viewPager,false);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM