public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Log.v(TAG, "onCreateView");
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
// setting up the view pager and tab layout
mViewPager = (ViewPager) rootView.findViewById(R.id.view_pager);
mTabLayout = (TabLayout) rootView.findViewById(R.id.tab_layout);
PageAdapter adapter = new PageAdapter(getFragmentManager());
mViewPager.setAdapter(adapter);
mTabLayout.setupWithViewPager(mViewPager);
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabLayout));
return rootView;
}
マイカスタムページャアダプタは次のようになります。実行時にViewPagerでタブを追加/削除することは可能ですか?
public class PageAdapter extends FragmentStatePagerAdapter {
public PageAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return new GroupTabFragment(position);
}
@Override
public CharSequence getPageTitle(int position) {
String title = "";
switch (position) {
case 0:
title = "Game"; // this is from a template, i have to
break; // return title dynamically
case 1:
title = "Movie";
break;
}
return title;
}
@Override
public int getCount() {
return 2; // the tabs number is a subject of change
} // i don't know it from the begining
}
私が持っている問題は、私はボタンがクリックされたときにタブを追加または削除する必要がある、またはこのようなもの。
各タブには、古典的なオブジェクトリストが表示されます。 ありがとうございます。代わりに、手動でセットアップあなたのタブをmTabLayout.setupWithViewPager(mViewPager);
をすることができます使用しての
ボタンクリックで別のタブを追加する可能性はありますか? –
jup。 'data.add(new YourFragment()); adapter.notifyDataSetChanged(); ' – AnZ