I have activity with full-screen ViewPager. Problem is - when I do the first scroll it is very laggy. It happens in an emulator and physical device. I think at that moment adapter inflates other pages and I want to force ViewPager or adapter to create all (3) pages at activity's onCreate.
Here is my code:
Activity onCreate()
adapter = new TutorialPageAdapter();
viewPager.setAdapter(adapter);
dotsIndicator.setViewPager2(viewPager);
Adapter:
public class TutorialPageAdapter extends RecyclerView.Adapter<TutorialPageAdapter.TutorialItemHolder> {
int[] items = {R.layout.tutorial_item_1_layout, R.layout.tutorial_item_2_layout, R.layout.tutorial_item_3_layout };
@NonNull
@Override
public TutorialItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View layoutView = LayoutInflater.from(parent.getContext()).inflate(items[viewType], parent, false);
return new TutorialItemHolder(layoutView);
}
@Override
public int getItemViewType(int position) {
return position;
}
@Override
public void onBindViewHolder(@NonNull TutorialItemHolder holder, int position) {
}
public TutorialPageAdapter() {
notifyDataSetChanged();
}
@Override
public int getItemCount() {
return items.length;
}
class TutorialItemHolder extends RecyclerView.ViewHolder {
public TutorialItemHolder(@NonNull View itemView) {
super(itemView);
}
}
}