我刚刚将我的项目转移到androidX。我使用android工作室重构->升级到androidX。TargetSDK已经28岁了,运行良好。所以没想到会出现很多错误。但我错了,得到了很多错误,其中大多数是关于fragmentManager
inferred type is FragmentManager? but FragmentManager was expected
这是我在片段中调用自定义bottomSheetDialogue的show方法的时候。
bottomDialog.newInstance(//options here
).show(fragmentManager, bottomDialog.TAG)
该方法被注释为Nullable。像这样改变
fragmentManager?.let { manager ->
bottomDialog.newInstance(//options here
).show(manager, bottomDialog.TAG)
}
确保导入androidx.fragment.app.FragmentManager
而不是android.app.FragmentManager
我最终使用了parentFrgamentManager,它解决了这个问题。我尝试使用supportFragmentManager,但没有被识别,所以使用了parentFragmentManager。这是我使用的代码。
bottomDialog.newInstance(//options here
).show(parentFragmentManager, bottomDialog.TAG)