Ho una piccola domanda per la mia app Android. Ho cercato a lungo ma non ho trovato nulla sul mio problema.Android - ListView Reverse come visualizzazione dei messaggi
Scenario: Ho per visualizzare un listview Ripristina (come Facebook Messenger). E quando l'utente scorre verso l'alto, carica più messaggi.
Problema: dopo la chiamata notifiyDataAsChanged()
, la pergamena non è la stessa! Voglio conservare esattamente la stessa posizione di prima del caricamento.
ho provato che il codice:
// save index and top position
int index = list.getFirstVisiblePosition()+result.size();
View v = list.getChildAt(index);
int top = (v == null) ? 0 : v.getTop();
// ...
// restore
list.setSelectionFromTop(index, top);
Ma il rotolo non è esattamente lo stesso dopo il caricamento.
Hai un'idea?
Grazie per il vostro aiuto. Non capisco il tuo post. Se sono sull'articolo 32, dopo averlo modificato, desidero essere di nuovo sull'articolo 32! Ma ora, quando questo metodo viene chiamato, io non sono su questo articolo ... –
Questa risposta è fuorviante. 'stackFromBottom' sposta (impila) gli oggetti in basso, non crea ordine inverso. Gli oggetti vengono ancora aggiunti dal basso, che non è quello che ha chiesto @FlorianMacLanglade (sto cercando la stessa soluzione pure). – Diolor
@Diolor ha ragione. 'stackfromBottom' è solo una parte di quello che vuoi. L'altra parte è l'ordine inverso a cui risponde qui: http://stackoverflow.com/questions/10941317/inverted-listview-in-android – Chris