Android KTX - FragmentManager 不匹配

Android KTX - FragmentManager missmatch

Android KTX 很不错,但迁移应用程序很痛苦

Requires androidx.fragment.app.FragmentManager 

Found: android.app.fragmentManager

class ViewPagerAdapter (fragmentManager: FragmentManager) : FragmentPagerAdapter(fragmentManager) {

...

: Activity(): AppCompatActivity更改为: FragmentAcitivty()

然后viewPager.adapter = ViewPagerAdapter(supportFragmentManager)


答案有点隐藏在 FragmentManager

的文档中

Your activity must derive from FragmentActivity to use this. From such an activity, you can acquire the FragmentManager by calling FragmentActivity#getSupportFragmentManager.


我实际上 post 这个问题只是为了回答它,因为我不想让任何人浪费他们生命中 30 分钟以上的时间来寻找解决方案。

Android KTX 仍处于成长阶段,所以如果能让大家更轻松地迁移他们的应用程序就好了

当您创建 Activity 时,只需扩展 AppCompatActivity

class YourActivity : AppCompatActivity() {

}

或者您也可以使用 FragmentAcitivty()

然后你可以使用supportFragmentManager