FragmentStatePagerAdapter
est obsolète à partir de l'API 27. Quelle est l'alternative de FragmentStatePagerAdapter
?
private class MainPagerAdapter extends FragmentStatePagerAdapter {
MainPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment result = new DummyFragment();
return result;
}
@Override
public int getCount() {
return 5;
}
}
le code ci-dessus indique que FragmentStatePagerAdapter
, getItem
et super(fm);
sont obsolètes.
Les constructeurs suivants font la même chose
super(@NonNull FragmentManager fm)
super(@NonNull FragmentManager fm, BEHAVIOR_SET_USER_VISIBLE_HINT)
Qui passe BEHAVIOR_SET_USER_VISIBLE_HINT
est devenu obsolète. Vous devriez passer BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
à la place.
La différence en passant ceux-ci est expliquée dans FragmentPagerAdapter
:
/**
* Indicates that Fragment#setUserVisibleHint(boolean) will be
* called when the current fragment changes.
*/
@Deprecated
public static final int BEHAVIOR_SET_USER_VISIBLE_HINT = 0;
/**
* Indicates that only the current fragment will be
* in the Lifecycle.State#RESUMED state. All other Fragments
* are capped at Lifecycle.State#STARTED.
*/
public static final int BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT = 1;
Vous pouvez prolonger
androidx.fragment.app.FragmentStatePagerAdapter;
et appeler
super(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
dans le constructeur de votre classe
Vous devez ajouter un comportement dans votre MainPagerAdapter
comme ceci:
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
Cette classe était obsolète dans l'API de niveau 27.1.0. qui était au support v13 https://developer.Android.com/reference/Android/support/v13/app/FragmentStatePagerAdapter
Utilisez FragmentStatePagerAdapter du support v4 https://developer.Android.com/reference/Android/support/v4/app/FragmentStatePagerAdapter
Selon Documentation , Android.support.v13.app.FragmentPagerAdapter était obsolète.
Vous pouvez le remplacer par Android.support.v4.app.FragmentPagerAdapter.
Cochez cette case pour la doumentation officielle.