Ich habe ein Tab-Layout und eine Ansicht Pager. Das Tab-Layout beginnt immer mit einer einzelnen Registerkarte. Ich möchte jedoch neue Registerkarten dynamisch über Schaltflächen hinzufügen und entfernen können.Android Hinzufügen und Entfernen von Fragmenten zu FragmentPagerAdapter
In onCreate:
mViewPager = (ViewPager) view.findViewById(R.id.viewpager);
mToolbar = (Toolbar) view.findViewById(R.id.toolbar);
mTabLayout = (TabLayout) view.findViewById(R.id.tabs);
setupViewPager(mViewPager);
mTabLayout.setupWithViewPager(mViewPager);
Die setupViewPager Methode:
private void setupViewPager(ViewPager viewPager) {
mAdapter = new ViewPagerAdapter(getActivity().getSupportFragmentManager());
mAdapter.addFragment(new CycleFragment(), "TEST TAB");
viewPager.setAdapter(mAdapter);
}
Die viewPageAdapter Klasse:
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(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, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
Ist es möglich, Fragmente zu/von dem viewpager dynamisch hinzufügen und entfernen ? Ich verstehe, dass das Hinzufügen neuer Fragmente über diese Methode relativ einfach ist. Wie aber würde ich Fragmente entfernen?