FragmentPagerAdapter устарел - PullRequest
0 голосов
/ 26 июня 2019

Поскольку 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]
        }
    }

1 Ответ

0 голосов
/ 26 июня 2019

Заменить:

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

с:

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

(при условии, что MyViewPagerAdapter не нужно настраивать это значение)

...