FragmentPagerAdapter class is deprecated
Since API 27 FragmentPagerAdapter is deprecated. What's the best alternative to use for this?
- 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; }}