arguments.getString("key") возвращает null
в аргументы dialogFragment я добавляю объект.
class SubjectsList : Fragment(), DialogSetting.EditSubjectParamsListener{
fun onClick(){
val args = Bundle()
args.putString("key", "something")
DialogSetting().arguments = args
Log.d("MyLog", args.getString("key").toString())
// MyLog D something
DialogSetting().show(childFragmentManager, "settings")
}
}
в логе это сообщение нормально выводится. но в самом фрагменте вместо этого сообщение возвращается null
class DialogSetting : DialogFragment(){
override fun onCreateDialog{
val args = this.arguments?.getString("key").toString()
Log.d("MyLog", args)
// MyLog D null
}
}
Ответы (1 шт):
Автор решения: Vadik
→ Ссылка
Вы два раза создали экземпляр фрагмента. Создайте отдельную переменную, чтобы исправить проблему:
val f = DialogSetting()
f.arguments = args
f.show(childFragmentManager, "settings")