由于API 27不推荐使用FragmentPagerAdapter。最好的替代方法是什么?

就我而言,我知道需要使用super(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)之类的东西,但是我不知道代码中需要去哪儿。

我在类里面得到了这些进口:

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

但是FragmentPagerAdapter中的class MyViewPagerAdapter(manager: FragmentManager) : FragmentPagerAdapter(manager){被删除了。
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]
        }
    }

最佳答案

代替:

class MyViewPagerAdapter(manager: FragmentManager) : FragmentPagerAdapter(manager)

和:
class MyViewPagerAdapter(manager: FragmentManager) : FragmentPagerAdapter(manager, FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)

(假设MyViewPagerAdapter不需要此值是可配置的)

关于android - 不推荐使用FragmentPagerAdapter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56778106/

10-12 19:42