web-dev-qa-db-fra.com

FragmentPagerAdapter déconseillé

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]
        }
    }
33
MacaronLover

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 .


0
Kiskae