Обновить выбранное состояние навигационной панели после повторного нажатия

Как правильно обрабатывать выбранное состояние навигационной панели после повторного нажатия?

У меня есть навигационный ящик с n записями (в виде списка), как образец SDK в Android Studio. Когда я нажимаю на записи ящика навигации, я хочу, чтобы они были добавлены в задний стек, чтобы я мог вернуться к ним.

В onNavigationDrawerItemSelected (int pos) у меня есть

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        if (position == 0) {
            transaction.replace(R.id.container, new FragmentA());
        } else if (position == 1) {
            transaction.replace(R.id.container, new FragmentB());
        } else {
            transaction.replace(R.id.container, new FragmentC());
        }
        transaction.addToBackStack(null);
        transaction.commit();

Когда я нажимаю на вторую запись в ящике, B выбирается и заменяет A. Если я потом нажимаю кнопку «Назад», Фрагмент A снова отображается, как и должен, но B все еще выбирается в навигационном ящике.

Как я могу обновить статус выбора ящика после нажатия назад?

Каким-то образом мне нужен вызов mDrawerListView.setItemChecked (position, true); или NavigationDrawerFragment.selectItem (int position). Но на какую должность? Как я помню это?

Перехватить с помощью onBackPressed?

@Override
    public void onBackPressed() {}

Но как мне узнать, какой фрагмент снова активен? И какой позиции это соответствует.

Есть ли какое-то простое решение, которое я слеп? Кажется, что использование back в сочетании с навигационной панелью и обновление статуса выбора является стандартным шаблоном.

Ответы на вопрос(5)

Ваш ответ на вопрос