Я использую нижнюю панель навигации для навигации по различным фрагментам. Некоторые фрагменты могут открыть новые действия. Когда пользователь нажимает эту кнопку «назад», я хотел бы отправить что-то с намерением в основное действие, чтобы вернуть последний открытый фрагмент.
В моем файле MainActivity.kt я пытаюсь использовать это:
if(!intent.getStringExtra("frag").isNullOrEmpty()){
val frag = intent.getStringExtra("frag")
selectedFragment = supportFragmentManager.findFragmentByTag(frag)!!
this.supportFragmentManager.beginTransaction()
.replace(R.id.frag_container, selectedFragment, frag).commit()
}
when(it.itemId){
R.id.nav_home ->{
selectedFragment = HomeFragment()
toolbar.title = "Notes"
this.supportFragmentManager.beginTransaction()
.replace(R.id.frag_container, selectedFragment, "Notes").commit()
}
}
и переходя от другого действия:
mainIntent.putExtra("frag", "Notes")
, но это не работает. Что бы я ни делал, я не посылаю правильную информацию, необходимую для выбора определенного фрагмента. Я не уверен, как я мог передать фрагмент или его ID / тег обратно в основное действие.