2017-02-25 50 views
0

問題!TabsIcons在適配器刷新viewPager後消失

我使用的是圖標 一個TabLayout這是我的Adapater

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所有圖標dissapear。

adapter.notifyDataSetChanged(); 

有人可以有一個想法嗎?

+0

所以你的圖標是固定的,不會改變? 按照上面的代碼 –

+0

我調用我的方法setupTabIcons方法後adapter.notifyDataSetChanged();但沒有效果,圖標消失 – user7619868

+0

tabLayout.setupWithViewPager(viewPager,false); 試試這個 –

回答

0

如果你的圖標是固定的 試試這個: tabLayout.setupWithViewPager(viewPager,false);