FragmentPagerAdapter class is deprecated. How to solve FragmentPagerAdapter issue

182 views Asked by At

FragmentPagerAdapter class is deprecated

Since API 27 FragmentPagerAdapter is deprecated. What's the best alternative to use for this?

How to solve FragmentPagerAdapter issue.

  • Follow my code you easily solve this problem.

imports :

import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter

My Old Code :

public class PagerAdapter extends FragmentPagerAdapter {
    
  public PagerAdapter(@NonNull FragmentActivity fragmentActivity) {
        super(fragmentActivity);

    }
int tab_count;
public PagerAdapter(@NonNull FragmentManager fm, int behavior) {
    super(fm, behavior);
    tab_count=behavior;
}

@NonNull
@Override
public Fragment getItem(int position) {
    switch (position)
    {
        case 0 : return new Ftab1();
        case 1 : return new ftab2();
        case 2 : return new Ftab3();
        default: return null;
    }
}

@Override
public int getCount() {
    return tab_count;
}

My New Code :

  • Follow my code you easily solve this problem. Note:

  • Replace FragmentPagerAdapter with FragmentStateAdapter

  • Create string of your fragment name

  • In XML & JAVA File,Replace ViewPager with ViewPager2.

  • Done

     public class PagerAdapter extends FragmentStateAdapter {
    
     String[] fragment_names = new String[]{"chat","status","call"};
     public PagerAdapter(@NonNull FragmentActivity fragmentActivity) {
         super(fragmentActivity);
    
     }
    
     @NonNull
     @Override
     public Fragment createFragment(int position) {
         switch (position)
         {
             case 0 : return new Ftab1();
             case 1 : return new ftab2();
             case 2 : return new Ftab3();
             default: return null;
         }
    
     }
    
     @Override
     public int getItemCount() {
         return fragment_names.length;
     }
    

    }

0

There are 0 answers