Я начал использовать библиотеку компонентов навигации и создал граф для навигации между различными фрагментами. Моя базовая настройка — BottomNavigationView с двумя фрагментами (A и B). Фрагмент B может идти глубже внутри графа к фрагменту C, а фрагмент C переходит к фрагменту D. На этом этапе все работает, и обратный стек идет от D -> C -> B.
Моя проблема — это фрагмент Z, доступный из меню панели инструментов, определенного для действия и используемого каждым фрагментом. Мне нужен путь от A -> B -> C -> D -> Z, и, нажав кнопку «Назад», я хочу вернуться на один шаг назад к фрагменту D. Но я перехожу к началу моего графика, который является фрагментом A. .
Фрагмент Z не использует никаких действий. Компонент навигации обнаруживает один и тот же фрагмент.id внутри графа навигации и меню.xml и выполняет навигацию за меня. Поэтому я не могу определить какую-то магию с несколькими обратными стеками.
navigation.xml
toolbar_menu.xml
bottom_navigation.xml
MainActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView( R.layout.activity_main )
val toolbar: MaterialToolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
val navView: BottomNavigationView = findViewById( R.id.bottomNavigation )
navView.setupWithNavController( navController )
}
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.menu_toolbar, menu)
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val navController = findNavController(R.id.nav_host_fragment)
return item.onNavDestinationSelected(navController) || super.onOptionsItemSelected(item)
}
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... from-stack
График навигации Android удаляет большую часть стека при обратном нажатии ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение