如何将值传递给对话框片段?
比方说,我有 isStarted
bool值,我把这个参数传给了 DialogFragment
像这样。
DatePickerFragmentDialog(isStarted).show
而在我的体内 DialogFragment
我明白这个论点。
class DatePickerFragmentDialog(isStarted: Boolean) : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {}
}
但我不能用这个论点来处理... onCreateDialog
重写法
你需要使用参数来传递你的值。
class DatePickerFragmentDialog : DialogFragment() {
companion object {
fun newInstance(isStarted: Boolean): DatePickerFragmentDialog {
val f = DatePickerFragmentDialog()
// Supply isStarted input as an argument.
val args = Bundle()
args.putBoolean("isStarted", isStarted)
f.arguments = args
return f
}
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val isStarted = arguments?.getBoolean("isStarted")
// Return some dialog
return super.onCreateDialog(savedInstanceState)
}
}
Show it:
val fragment = DatePickerFragmentDialog.newInstance(true)
fragment.show(supportFragmentManager, "myFragment")