Como implementar o botão Voltar da barra de ferramentas do Android

Estou usando uma barra de ferramentas personalizada. Eu preciso adicionar o botão Voltar. Agora estou usando esse código para adicionar o botão Voltar.

Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
        toolbar.setBackgroundColor(getResources().getColor(R.color.white));
        toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.back_arrow));
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });

Isso funciona bem. Eu posso ver o botão voltar adicionado. Mas considere o caso em que estou no Fragmento1, que não tem botão Voltar. Agora passo para o Fragment2 e adiciono o botão Voltar. No Fragmento 2, abro o Fragmento 3 e adiciono o botão Voltar novamente.

Agora, quando pressiono o botão voltar do fragmento3 para voltar ao fragmento2, tenho que verificar a pilha de fragmentos para ver se o botão voltar é necessário no fragmento 2 ou não.

Existe alguma outra maneira de manipular o botão Voltar automaticamente quando pressionamos os fragmentos para empilhar?

questionAnswers(6)

yourAnswerToTheQuestion