ich versuche gerade meinen ViewPager auf ViewPager2 zu migrieren. Der Anleitung "Migrate from ViewPager to ViewPager2" bin ich sowit gefolgt. Das sliden funktioniert aber nicht. D.h ich sehe nur das erste Fragment ohne es verschieben zu können.
Quellcode
- public class ScheduleRoot2 extends Fragment {
- private static final int NUMBER_PAGES = 4;
- private ViewPager2 objPager2;
- private FragmentStateAdapter objAdapter;
- @Nullable
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- View viewRoot = inflater.inflate(R.layout.frag_scheduler2,container,false);
- objPager2 = viewRoot.findViewById(R.id.pager2);
- objAdapter = new ScreenSlideAdapter(getParentFragmentManager(),getLifecycle());
- objPager2.setAdapter(objAdapter);
- return viewRoot;
- }
- private static class ScreenSlideAdapter extends FragmentStateAdapter {
- public ScreenSlideAdapter (FragmentManager fm,Lifecycle ls) {
- super(fm,ls);
- }
- @NonNull
- @Override
- public Fragment createFragment(int position) {
- System.out.println("Pos:" + position);
- switch (position) {
- case 0:
- return new FragmentA();
- case 1:
- return new FragmentB();
- case 2:
- return new FragmentC();
- case 3:
- return new FragmentD();
- }
- return new FragmentA();
- }
- @Override
- public int getItemCount() {
- return NUMBER_PAGES;
- }
- }
- }
Vielen Dank