Problema: Atualizar automaticamente dados entre abas de uma TabActivity, quando mudar de aba.
Explicando melhor, você tem n abas em uma TabActivity e cada aba atualiza uma parcela dos dados (ou todos) que são compartilhados por todas as abas.
Cada aba é controlada por uma acitivity. Então, quando uma aba for selecionada, muda de view e muda de activity: a solução parece ser simples: vamos usar um dos métodos de retorno da activity, tipo onStart ou onResume certo?
Errado, infelizmente nenhum desses métodos é chamado.
Já tinha encontrado problemas parecidos com esse, mas não tinha encontrado uma solução satisfatória.
Recentemente, um colega estava com o mesmo problema.
Pesquisando em alguns lugares, pegando dicas em outros, juntando com alguns testes que tinha feito, chegamos em uma solução interessante.
A solução usa duas interfaces, uma existente no TabHost (OnTabChangedListener) e outra definida na TabActivity e implementada nas activities que controlam cada tab (OnSingletonUpdatedListener).
Os dados compartilhados estão num Singleton.
Na TabActivity:
E nas activities das abas:
Obs: Não testei essa solução exaustivamente, se encontrarem algum problema ou se funcionar bem, por favor, me avisem!
Grato
De onde vem essa classe MySingleton?
ResponderExcluirÉ um Singleton usado para salvar alguns dados.
Excluir