【发布时间】:2019-06-11 11:55:56
【问题描述】:
我正在调用一个带有如下参数的对话框:
MyDialog("title", "message").show(this@MyActivity.supportFragmentManager, null)
这是我的对话类:
class MyDialog(private val theTitle: String, private val theMessage: String) : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return activity.let {
val myBuilder = AlertDialog.Builder(it)
myBuilder
.setTitle(theTitle)
.setMessage(theMessage)
.setPositiveButton("OK") { _, _ -> }
myBuilder.create()
}
}
}
但是当设备的旋转方向发生变化时,应用程序将停止工作。 如果没有传递任何参数,则不会发生这种情况。 那么,如何传递参数以及最好的方法是什么?
【问题讨论】:
-
如果应用停止......堆栈跟踪应该很有用,问题中没有提到
-
你查过你的日志吗?我认为问题有所不同。
-
如果你使用
AlertDialog.Builder,我认为你可以避免使用DialogFragment,而直接使用AlertDialog。 -
这有帮助吗?
Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.example.kotlinapp2.DialogPicker: could not find Fragment constructorMyDialog 其实就是DialogPicker -
我想让
MyDialog更复杂,所以我不认为我可以只使用AlertDialog
标签: android kotlin android-dialogfragment