Depuis l'API 27 FragmentPagerAdapter
est obsolète. Quelle est la meilleure alternative à utiliser pour cela?
Dans mon cas, je comprends que quelque chose comme super(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)
devrait être utilisé, mais je ne sais pas où dans mon code cela doit aller.
J'ai eu ces importations dans ma classe:
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
mais FragmentPagerAdapter
dans class MyViewPagerAdapter(manager: FragmentManager) : FragmentPagerAdapter(manager){
est barré.
class MyViewPagerAdapter(manager: FragmentManager) : FragmentPagerAdapter(manager){
private val fragmentList : MutableList<androidx.fragment.app.Fragment> = ArrayList()
private val titleList : MutableList<String> = ArrayList()
override fun getItem(position: Int): androidx.fragment.app.Fragment {
return fragmentList[position]
}
override fun getCount(): Int {
return fragmentList.size
}
fun addFragment(fragment: androidx.fragment.app.Fragment, title: String){
fragmentList.add(fragment)
titleList.add(title)
}
override fun getPageTitle(position: Int): CharSequence? {
return titleList[position]
}
}
Les javadocs ont en fait l'avis de dépréciation suivant sur FragmentPagerAdapter
:
Cette classe est déconseillée.
Basculez vers ViewPager2 et utilisez plutôt FragmentStateAdapter .