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")
→ Ссылка