Лучшая практика: выделите пункт меню в BottomNavigationView после возобновления активности

Как лучше всего выделить нужный элемент меню в BottomNavigationView после возвращения к этому действию?

Мой сценарий: MainActivity с bottomNavigation, который переключается между фрагментами и запускает другие действия. Действия, начатые из этого меню, имеют android:parentActivityName=".activities.MainActivity" установить в файле манифеста. Щелчок по кнопке "Назад" в верхней панели возвращает меня к правому действию, и последний посещенный фрагмент в этом упражнении также отображается, поскольку я добавил android:launchMode="singleTop" для основной деятельности. НО всегда выделяется первый пункт меню:-(

Мой обходной путь на данный момент заключается в добавлении следующего кода в каждый фрагмент (не очень приятно)

@Override
public void onResume() {
    super.onResume();
    BottomNavigationView navigation = (BottomNavigationView) getActivity().findViewById(R.id.navigation);
    Menu menu = navigation.getMenu();
    for (int i = 0; i < menu.size() ; i++) {
        menu.getItem(i).setChecked(false);
    }
    menu.getItem(MENU_ITEM_POS).setChecked(true);
}

0 ответов

Другие вопросы по тегам