Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Voltar para activity principal

Boa tarde,

Conforme inicialmente havia sido dito pela especificação do cliente, a aplicativo deveria voltar a lista de viagens após a tela de pagamento efetuado, porém este fato não foi abordado ao fim do curso.

Gostaria de saber o que é preciso fazer para o fechamento encadeado das atividades, visto que para voltar para a de lista, é necessário fechar 3, porém se antes do pagamento elas já forem fechadas (a cada troca de atividade, finalizar a mesma através do finish()), é perdido o histórico, caso o usuário, antes de realizar o pagamento, quiser trocar algum dado, ou conferir.

Obrigado.

3 respostas
solução!

Oi Douglas, tudo bem?

Uma técnica que você pode fazer é sobrescrever o onBackPressed() da ResumoCompraActivity indicando que ela vai abrir a lista de pacotes e indicando a task list (lista que mantém o histórico de Activities, será limpada ao chamar essa nova Activity). Para isso utilizamos as flags da Intent:

@Override
public void onBackPressed() {
    Intent intent = new Intent(this, ListaPacotesActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
}

Para mais detalhes de outras possibilidades de flags, você pode conferir na documentação.

[]s

Opa Alex,

Funcionou bem certinho, hehe

Vi também que existe também o Navigation (segundo outra resposta tua similar), mas que me pareceu bem mais complicado , pelo menos para tarefas simples, ou o uso é um pouco diferente.

Enfim, obrigado.

Que bom que deu certo, Douglas!

Existem várias possibilidades, cada uma vai apresentar vantagem e desvantagem, seja velocidade de manutenção, complexidade do projeto, flexibilidade de edição, controle e por aí vai.

O Navigation é um componente bem recente e vale muito a pena tirar um tempinho para estudá-lo. Estamos com planos para criar um curso dele :)

[]s