Я несколько дней боролся с созданием функциональности в моем приложении, которая позволяет пользователю удалить страницу / фрагмент из Viewpager, я попытался изменить свой FragmentPageAdapter на FragmentStatePageAdapter и переопределить мой getItemPosition()
на return POSITION_NONE;
, однако это все еще не позволяет мне динамически удалять фрагмент, когда я вызываю fragments.remove(page);
pageAdapter.notifyDataSetChanged();
Кто-нибудь делал это раньше успешно? Кажется, это должно быть очень просто, но этого не было, ниже мой адаптер фрагмента, любая помощь будет иметь большое значение, спасибо!
class MyPageAdapter extends FragmentStatePagerAdapter {
private List<Fragment> fragments;
public MyPageAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
@Override
public float getPageWidth(int position) {
if (position == 0) {
return (0.75f);
} else {
return (1f);
}
}
@Override
public CharSequence getPageTitle(int position) {
MyFragment theFragment = (MyFragment) this.fragments.get(position);
return theFragment.returnTitle();
}
@Override
public int getCount() {
return this.fragments.size();
}
}