Я пытаюсь отправить данные из DialogFragment во фрагмент, из которого был создан этот диалог. В целевом фрагменте я использую этот код:
val noteData = NoteData()
val bundle = Bundle()
noteData.setTargetFragment(this,0)
noteData.show(fragmentManager!!, noteData.TAG)
, и я также реализовал свой интерфейс во фрагменте:
class NotepadScr : Fragment(), NotesInterface
В DialogFragment я использую этот код:
private var notesInterface: NotesInterface? = null
override fun onAttach(context: Context) {
super.onAttach(context)
if (context is NotesInterface) {
notesInterface = context
} else if (parentFragment is NotesInterface) {
notesInterface = parentFragment as NotesInterface
}
}
и отправьте данные:
notesInterface.archiveNote(recordID!!)
Я также пытался использовать onActivityResult()
из этот вопрос:
val i = Intent()
i.putExtra("selectedDate", 1122)
targetFragment!!.onActivityResult(1, Activity.RESULT_OK, i)
получение данных:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
when(requestCode){
1->{
if (resultCode == Activity.RESULT_OK) {
// here the part where I get my selected date from the saved variable in the intent and the displaying it.
val bundle = data!!.extras
val resultDate = bundle!!.getInt("selectedDate")
Timber.i("**************************** %s", resultDate.toString())
}
}
}
}
но мне не удалось получить данные: (((