Android TabLayoutのいくつかの小さな問題
3416 ワード
プロジェクトをする時、1つの問題に出会って、時には
結果研究では、2つの方法で問題を解決しました.は、 adapterの を書き換える.
adapter
ページ内の主な方法の実装
tabLayout.setupWithViewPager(viewPager)
前にタイトルを設置して後で空白になるかもしれなくて、Tabのtitleを表示しないで、長い間解決してもだめでした.結果研究では、2つの方法で問題を解決しました.
tabLayout.setupWithViewPager(viewPager)
に手動でタイトルを追加し直し、ここでは後述しない.getPageTitle
adapter
public class TabAdapter extends FragmentPagerAdapter {
private ArrayList fragments;
// titleList
private ArrayList mTitles;
public TabAdapter(FragmentManager fm, ArrayList fragments, ArrayList titles) {
super(fm);
this.fragments = fragments;
mTitles = titles;
}
// :
@Override
public CharSequence getPageTitle(int position) {
return mTitles.get(position);
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
}
ページ内の主な方法の実装
private void initTabView() {
viewPager = view.findViewById(R.id.data_count_viewpager);
tabLayout = view.findViewById(R.id.tab_layout);
tabAdapter = new TabAdapter(getActivity().getSupportFragmentManager(), mFragments, mTitles);
// Tab
for (int i = 0; i < mTitles.size(); i++) {
tabLayout.addTab(tabLayout.newTab().setText(mTitles.get(i)));
}
// tabAdapter ViewPager
viewPager.setAdapter(tabAdapter);
// ViewPager TabLayout
tabLayout.setupWithViewPager(viewPager);
}