无法识别 kotlin 中的 FragmentManager

Mic*_*bay 1 android android-fragments android-viewpager kotlin

我想在我的应用程序中设置一个 viewPager 和寻呼机适配器,但我无法实现它,因为我不能使用 fragmentManager。我得到以下错误:

“错误:(45, 38) 分类器‘FragmentManager’没有伴随对象,因此必须在此处初始化”

我的代码是:

import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager

private lateinit var pagerAdapter: mPagerAdapter
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main2)
    pagerAdapter = mPagerAdapter(FragmentManager) // err is here
    viewPager.adapter = pagerAdapter
  }

class mPagerAdapter(fragmentManager: FragmentManager) :
        FragmentStatePagerAdapter(fragmentManager) {


    // 2
    override fun getItem(position: Int): Fragment {
        when (position) {
            0 -> return Tab1() as Fragment
            1 -> return Tab2() as Fragment
            2 -> return Tab3() as Fragment
        }
        return Tab1() as Fragment
    }

    // 3
    override fun getCount(): Int {
        return 3
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决这个问题?

ian*_*ake 5

FragmentManager是类名。fragmentManager,带有小写的“f”,是对getFragmentManager()方法的属性引用。

您想改为使用supportFragmentManager(作为getFragmentManager()返回 Framework FragmentManager,而不是 Support Library FragmentManager):

pagerAdapter = mPagerAdapter(supportFragmentManager) 
Run Code Online (Sandbox Code Playgroud)