Atualizar o estado selecionado da gaveta de navegação após pressionar novamente

Qual é a maneira correta de lidar com o estado selecionado da gaveta de navegação após pressionar novamente?

Eu tenho uma gaveta de navegação com n entradas (em uma lista) como o exemplo do SDK no Android Studio. Quando clico nas entradas da gaveta de navegação, quero que elas sejam adicionadas à pilha de trás, para que eu possa voltar a elas.

Em onNavigationDrawerItemSelected (int pos), tenho

        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();

Quando clico na segunda entrada na gaveta, B é selecionado e substitui A. Se clicar no botão Voltar posteriormente, o Fragmento A é exibido novamente como deveria, mas B ainda está selecionado na gaveta de navegação.

Como posso atualizar o status de seleção da gaveta depois de pressionar novamente?

De alguma forma eu preciso de uma chamada para mDrawerListView.setItemChecked (position, true); ou NavigationDrawerFragment.selectItem (int position). Mas para qual posição? Como me lembro?

Interceptar com onBackPressed?

@Override
    public void onBackPressed() {}

Mas como sei qual fragmento está ativo novamente? E a qual posição corresponde.

Existe alguma solução fácil que eu sou cego de ver? Parece que usar de volta em combinação com a gaveta de navegação e atualizar o status da seleção é um padrão.

questionAnswers(5)

yourAnswerToTheQuestion