gpt4 book ai didi

android - getFragmentManager() 在 Kotlin 中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:35 25 4
gpt4 key购买 nike

我正在尝试启动包含在我项目本地库模块中的 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 变量在声明中用问号标记为可为 null,因此您需要使用安全调用运算符 ?.。它仅在 searchDialogFragment 不为 null 时执行:

searchDialogFragment?.show(supportFragmentManager, null)

或者您可以使用以下代码将您的变量声明为非空,但仍然可以稍后在您的代码中对其进行初始化:

private lateinit var searchDialogFragment: SearchDialogFragment

关于android - getFragmentManager() 在 Kotlin 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44706972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com