Cara, desista do onSaveInstanceState do ListView e faça no braço:
no onSaveInstanceState da activity:
outState.putInt("listIndex", listView.getFirstVisiblePosition)
no onCreate / onRestoreInstanceState
listView.setTranscriptMode(...);
listView.setSelection(state.getInt("listIndex", 0));
Não é muito elegante, mas deve funcionar. :)
2014-06-27 15:37 GMT-03:00 Matheus Silva <informatheus02@gmail.com>:
Ja tentei salvar o primeiro, o ultimo, o estado total, mas depois de tudo isso comecei a perceber que a minha maldição eh o transcript mode. Quando eu seto ele, a lista vai direto pro final.
Tentei agora a pouco fazer o seguinte:if (savedInstanceState != null
&& savedInstanceState.getParcelable(LISTSTATE) != null) {
listview.onRestoreInstanceState(savedInstanceState
.getParcelable(LISTSTATE));
} else {
listview.setTranscriptMode(ListView.TRANSCRIPT_MODE_NORMAL);
}
Mas me parece que esse tal de listview.onSaveInstanceState() não salva o transcript mode, o que fez com que da primeira rotação em diante a lista nao fosse mais transcript mode.
Ateh agora a visão que eu tenho eh que esse onSaveInstanceState() nao serve pra nada.
Em sexta-feira, 27 de junho de 2014 10h35min04s UTC-3, Eduardo Gielamo Oliveira escreveu:Olá Matheus,já tentou salvar o estado da primeira e da última posição visível?Att,EduardoEm 26/06/2014 17:12, "Matheus Silva" <informa...@gmail.com> escreveu:
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-...@googlegroups.com.Percebi que ao desativar o transcript mode, a lista é recuperada exatamente na mesma posição em que estava antes da rotação, até com diferença dos pixels. O que eu acho um mistério a menos que o adapter em si guarde essa posição.--
Mas nada disso muda o fato de que eu preciso de transcript pq eh um chat. O que fazer?
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.--
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.
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