2017-02-25 3 views
0

問題!私のリフレッシュ後にタブアイコンが消えますアダプターによるページャー

私は私の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 ""; 
    } 
} 

のアイコン とTabLayoutを使用してい

そして、これは私が私のTabLayoutでViewPagerで断片と示すアイコンを追加するために私のアダプタを使用する方法である

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]); 

私は、すべてのアイコンが消える私のviewPagerをリフレッシュするためにnotifyDataSetChangedを使用する場合、問題があります。

adapter.notifyDataSetChanged(); 

アイデアはありますか?

+0

アイコンは固定されており、変更されません。上記のコードごとに –

+0

私はadapter.notifyDataSetChanged()の後に私のメソッドsetupTabIconsメソッドを呼び出します。しかし、効果はありません。アイコンは消えます。 – user7619868

+0

tabLayout.setupWithViewPager(viewPager、false); 試してみてください –

答えて

0

アイコンが固定されている場合 これを試してみてください: tabLayout.setupWithViewPager(viewPager、false);

関連する問題