getFragmentManager()不在Kotlin中工作

我试图在我的项目中本地启动一个包含在库模块中的DialogFragment。 我打电话给它的类是使用Kotlin ,我得到了以下函数getFragmentManager()的错误: 下面的函数都不能用提供的参数调用

import com.github.adamshurwitz.materialsearchtoolbar.SearchDialogFragment ... private var searchDialogFragment: SearchDialogFragment? = null ... searchDialogFragment = SearchDialogFragment() searchDialogFragment.show(supportFragmentManager, null) 

我有另一个项目,我在Java中调用它,它使用getSupportFragmentManager()

我试过的解决方案:

 searchDialogFragment.show(getFragmentManager(), null) searchDialogFragment.show(supportFragmentManager, null) searchDialogFragment.show(supportFragmentManager as FragmentManager, null) searchDialogFragment.show(supportFragmentManager.beginTransaction(), null) searchDialogFragment.show(supportFragmentManager(), null) 

由于您的searchDialogFragment变量在声明中被标记为可为空,且需要使用安全调用操作符?. 。 它只在searchDialogFragment不为空时执行:

 searchDialogFragment?.show(supportFragmentManager, null) 

或者你可以使用下面的代码来声明你的变量不为null,但是仍然可以在代码中初始化它:

 private lateinit var searchDialogFragment: SearchDialogFragment