Не удается установить активный элемент BottomNavigationView при воссоздании приложения

Невозможно установить активный элемент BottomNavigationView при воссоздании приложения: последний выбранный элемент активен после воссоздания приложения, поэтому BottomNavigationView.setSelectedItemId(R.id.item0) не требует визуального эффекта, но onNavigationItemSelected был вызван успешно.

Итак, как я могу предотвратить восстановление предыдущего активного элемента BNV? Благодарю.

1 ответ

Решение

Вы должны сделать это внутри onResume() вместо этого, потому что в то время как ваше приложение в последних приложениях, то BottomNavigationView всегда будет ловить позицию.

Почему заданная позиция не работает?

Потому что вы устанавливаете позицию внутри onCreate() который не вызывается при запуске приложения из последних приложений.

Как установить позицию тогда?

Внутри в onStart() или же onResume() и это сработает.

Как проверить, открыто ли приложение из недавних приложений?

Мы можем играть с логическим, например:

boolean isFromRecents = false;

onCreate(){
isFromRecents = true;
}

onResume(){
if(isFromRecents)
   //do smth
}
Другие вопросы по тегам