2017-05-08 1 views
-1

Ich habe eine Listenansicht, die verschiedene Ansichten als Elemente enthält.so immer wenn die Seite aktualisiert wird konzentriert sich auf das erste Element der Liste. so verwenden i-Code folgendeSo konzentrieren Sie sich auf das aktuell ausgewählte Element in Listview in Android

listView.setSelection(chat.size()-1); 
    adapter.notifyDataSetChanged(); 

jetzt seine Fokussierung auf den letzten Punkt der Liste. also möchte ich auf das aktuelle Element der Liste konzentrieren.wie kann ich es tun? Bitte geben Sie mir so schnell wie möglich eine Lösung.

+0

Sie haben dafür die aktuell ausgewählten Elemente Position einzustellen. So ist 'listView.setSelection (currentItemPosition)'. –

Antwort

0

Bevor Sie Ihre Listenansicht aktualisieren, sollten Sie die folgenden Variablen zwischenspeichern.

// save index and top position 
    int index = mList.getFirstVisiblePosition(); 
    View v = mList.getChildAt(0); 
    int top = (v == null) ? 0 : v.getTop(); 

Nach Refresh-Listview, wiederherstellen

mList.setSelectionFromTop(index, top); 
Verwandte Themen