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

Como sobrescrever o metodo onBackPressed Android Studio com Kotlin ?

O problema é o seguinte

Digamos que tenho TelaInicialdoApp, clicando nela entro numa tela com uma lista de produtos quaisquer (TeladeProdutos). Clicando sobre o produto posso Editar e Salvar (Tela de Edição). Quando clico em "salvar" o app volta pra TeladeProdutos onde posso editar outro etc...

Porém nesse momento se eu apertar o botão "back" do android o app volta pra tela de edição mas eu gostaria que voltasse para TelaInicialdoApp .

Gostaria de "matar" a activity tela de edição e/ou forçar que quando na TeladeProdutos seja apertado o back volte obrigatoriamente para TelaInicialdoApp.

Pesquisando, descobri que pra isso é preciso sobrescrever o método onBackPressed.

Fiz algo assim

override fun onBackPressed() {
        val intent = Intent (this, TelaInicialdoApp::class.java)
        startActivity(intent)
    }

com, ou sem o "super.onbackpressed"

Em todos os casos mantém-se comportamento de voltar pra tela de edição. O máximo que consegui foi por um finish() na operação de salvar ... mas ainda assim quando aperto voltar a tela fica piscando na tela de produtos

Essa é minha dúvida: Como tirar a activity de edição da pilha ou como forçar um comportamento para o botão voltar (obrigando voltar a tela principal)

2 respostas
solução!

Fala Fernando! Beleza ?

Cara no geral, a gente não precisa fazer essa sobreescrita não tá?

O que acho que tu não tá fazendo é chamar o método finish() da activity!

Pensa que toda vez que você faz um startActivity, você está criando uma nova tela! Imagino que você apenas queira sair da tela que estava, por isso o método finish é necessário, o botão de back do sistema operacional, vai fazer a mesma coisa.

Cara imagino que talvez tu não tenha feita a formação completa de android, acho que vai ser massa pra ti se tu fizer, esses conceitos estão todos lá! Mas fique a vontade pra sempre mandar sua dúvida aqui no fórum que vamos te ajudar :D

Obrigado Matheus. Isso mesmo... por fim comecei a distribuir "finish()" pelo código até entender e o app reagir como esperado. Por fim, n