Я использую компонент архитектуры навигации, и у меня есть настройка, аналогичная этой для извлечения стека при переходе к определенному фрагмент:
<action
android:id="@+id/navigate_to_main_screen"
app:destination="@id/fragment_main_screen"
app:popUpTo="@+id/navigation_main"
app:popUpToInclusive="true"/>
Это работает почти так, как ожидалось. И системная кнопка «Назад», и значок «Вверх» на панели приложений не позволяют перейти к предыдущему фрагменту. Системная кнопка «Назад» закрывает приложение.
Тем не менее, кнопка «вверх» на панели приложений по-прежнему существует, нажатие на нее ничего не делает, как ожидалось. Что я делаю не так? Почему это все еще здесь?
В основной деятельности у меня уже есть
AppBarConfiguration config =
new AppBarConfiguration.Builder(navController.getGraph()).build();
NavigationUI.setupActionBarWithNavController(this, navController, config);
и
@Override
public boolean onSupportNavigateUp() {
return navController.navigateUp() || super.onSupportNavigateUp();
}
Согласно документации.
Версия библиотеки, которую я использую:
implementation 'android.arch.navigation:navigation-fragment:1.0.0-alpha09'
implementation 'android.arch.navigation:navigation-ui:1.0.0-alpha09'