У меня есть страница просмотра, которая просматривает фрагменты. Мой подкласс FragmentPagerAdapter
создает новый фрагмент в методе getItem
, который кажется расточительным. Есть ли FragmentPagerAdapter
, эквивалентный convertView
в listAdapter
, который позволит мне повторно использовать уже созданные фрагменты? Мой код приведен ниже.
public class ProfilePagerAdapter extends FragmentPagerAdapter {
ArrayList<Profile> mProfiles = new ArrayList<Profile>();
public ProfilePagerAdapter(FragmentManager fm) {
super(fm);
}
/**
* Adding a new profile object created a new page in the pager this adapter is set to.
* @param profile
*/
public void addProfile(Profile profile){
mProfiles.add(profile);
}
@Override
public int getCount() {
return mProfiles.size();
}
@Override
public Fragment getItem(int position) {
return new ProfileFragment(mProfiles.get(position));
}
}
Для будущих читателей!
при размышлении о многократном использовании фрагментов с viewpager лучшее решение состоит в том, чтобы использовать ViewPager 2, с тех пор , Пейджер Представления 2 использует RecyclerView.