Obrigado mais uma vez, sua resposta me parece uma boa aproximação de uma solução, mas eu ainda tenho alguma duvidas que gostaria de esclarecer antes de implementar.
Queria entender a necessidade do singleton e o que vc quis dizer com "e faça dela uma "observável" da Activity que precisa chamar notifyDataSetChanged()". Isso é apenas o que vc explicou mais adiante, ou seja, ter uma instancia da interface dentro da conversa para nela chamar uma atualização que sera recebida na classe que implementar essa interface? Se for só isso eu entendi, é que eu nunca usei Observer ou ContentObserver.
-- Queria entender a necessidade do singleton e o que vc quis dizer com "e faça dela uma "observável" da Activity que precisa chamar notifyDataSetChanged()". Isso é apenas o que vc explicou mais adiante, ou seja, ter uma instancia da interface dentro da conversa para nela chamar uma atualização que sera recebida na classe que implementar essa interface? Se for só isso eu entendi, é que eu nunca usei Observer ou ContentObserver.
Eu tambem gostaria de saber uma coisa, até então eu não estava usando um handler para adicionar a mensagem à conversa no service. Apenas adicionava e depois enviava uma intent.
Por acaso se eu adicionar a mensagem à conversa no service pela UI thread via handler e logo depois, ainda na UI thread, enviar uma intent que sera recebida no fragment para dar notify na listview, evitará o IllegalStateException?
E só pra esclarecer melhor a situação, a listview fica num fragment, e nao na activity. O app é um cliente IRC que usa a library PircBotX e estou usando actionbar com tabs. A primeira tab (primeiro fragment) será estática e representará o chat do #canal (o app será de apenas um canal) e as outras tabs serao dinâmicas e serao adicionadas e removidas conforme o usuario abrir e fechar conversas privadas (PVT's).
Eu perguntei sobre intents pq ela me atende bem devido ao fato de que eu posso ter varios fragments, varios listviews, e eu estava usando a tag do fragment como category do filter do broadcast receiver, dessa forma cada um receberia o seu certinho. E essa tag do fragment é justamente o ID do user com que estou conversando (apenas o nome do canal caso seja o fragment do canal), então tudo se encaixava bem, até o IllegalStateException acabar com td rsrs.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.






0 comentários:
Postar um comentário