Android - banco de dados de atualizações de atividades infantis no onDestroy e leituras dos pais no onResume
-
12-12-2019 - |
Pergunta
Tenho 2 atividades A->B.A é a atividade pai e B é como "configurações".Em B o usuário faz algumas escolhas que atualizam o banco de dados do app.A tem que ler o banco de dados para definir algumas visualizações de texto de acordo com isso.
O que pensei que funcionaria é o seguinte:Em B o usuário define suas escolhas (usando alguns botões de alternância) e na função onDestroy o estado dos botões é lido e o banco de dados é atualizado (não tenho "botão enviar alterações", então uso onDestroy).Então na função onResume de A eu chamo a rotina que lê o banco de dados e atualiza os campos.
O problema é que as mudanças não são visíveis em A.Mas se eu voltar para B e voltar para A sem novas alterações, as alterações serão visíveis e corretas.
Então, o que está errado e deve ser feito?Posso usar uma atividade fictícia entre A e B e isso pode funcionar, mas não sei se é uma boa implementação.Agradeço antecipadamente!
Solução
Tente em vez de onDestroy()
método por exemplo onPause()
ou onStop()
método.E veja isso:
Outras dicas
Se você não deseja implementar um botão de envio, seria melhor atualizar seu banco de dados em onPause()
em vez de onDestroy()
.
@Override
protected void onPause() {
super.onPause();
if (isFinishing()) {
//Database updates here
}
}
}