Я начал использовать библиотеку компонентов навигации и создал граф для навигации между различными фрагментами. Моя базовая настройка — 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
Форум для тех, кто программирует под Android
1726491125
Anonymous
Я начал использовать библиотеку компонентов навигации и создал граф для навигации между различными фрагментами. Моя базовая настройка — 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)
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78968449/android-navigation-graph-removes-on-back-press-to-much-from-stack[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия