i have 4 Fragments in viewpager but if i get into activity that have viewpager only 2 fragments call oncreateview
so remain fragments cant call their component and occurs null pointer error
i have pageradapter and i didnt call them separately
how can i fix this?
--- pageradapter ---
public class SearchPageAdapter extends FragmentPagerAdapter {
private ArrayList<Fragment> arrayList = new ArrayList<>();
FragmentManager fragmentManager;
public SearchPageAdapter(@NonNull FragmentManager fm) {
super(fm);
fragmentManager = fm;
arrayList.add(new SearchPageBookFragment());
arrayList.add(new SearchPageFeedFragment());
arrayList.add(new SearchPageChallengeFragment());
arrayList.add(new SearchPageUserFragment());
}
@NonNull
@Override
public Fragment getItem(int position) {
return arrayList.get(position);
}
@Override
public int getCount() {
return arrayList.size();
}
}
--- connect viewpager and fragments ---
searchPageBookFragment = ((SearchPageBookFragment) ((SearchPageAdapter) binding.viewpager.getAdapter()).getItem(0));
searchPageFeedFragment = ((SearchPageFeedFragment) ((SearchPageAdapter) binding.viewpager.getAdapter()).getItem(1));
searchPageChallengeFragment = ((SearchPageChallengeFragment) ((SearchPageAdapter) binding.viewpager.getAdapter()).getItem(2));
searchPageUserFragment = ((SearchPageUserFragment) ((SearchPageAdapter) binding.viewpager.getAdapter()).getItem(3));
change viewpager offscreenPageLimit to below
it will initialise all fragment.