Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification.

Eu poderia, ao inves de intanciar uma nova conversa no adapter, ter uma variavel que aponte para a mesma do service (eu preciso dessa conversa atualizada como esta la para pegar algumas informações e tomar decisões) e enviar ela apos atualizar via Otto?
Deixa eu explicar melhor, no service eu atualizo a conversa com a nova mensagem. Apos isso, eu envio uma instancia dessa conversa via otto. O fragment recebe essa conversa e seta ela no adapter, ela mesmo nao uma nova instancia, atraves desse metodo que vc me disse, e entao apos setar a lista atualizada eu dou notifydatasetchanged(); Isso daria certo? Eu acho que por essa logica nao tem como lançar a exception pq a UI vai receber uma lista atualizada e jogar no adapter antes de dar notify. Não vai haver uma divergencia de informações sobre a lista no service e no fragment.
Quero saber isso porque, por exemplo, eu tenho flags boolean nessa conversa que me indica se há uma nova mensagem ou se o usuario não esta mais online. Fico preocupado de instanciar outra lista e esses valores em algum momento nao corresponderem ao status da conversa no service.
Com relação ao Provider que o luciofm tanto aconselha, eu pensei muito, muito mesmo, e acho sinceramente que é uma pratica, mas nao nesse meu caso. Meu caso eh um poco mais simples onde o molho ficaria mais caro que o peixe. Eu so preciso que o fragment receba esse objeto da classe conversa. Preparar um provider, loader, cursorloader, etc eu acho que pode ateh dar certo mas vo ter que dar uma volta ao mundo.

--
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.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário