Ich habe eine ListView
mit benutzerdefinierten Zeilen. Wenn eine dieser Zeilen auf geklickt wird, werden die ListView-Daten neu generiert. Ich würde gerne die Liste zu scrollen zurück nach oben, wenn dies passiert.Android ListView nach oben scrollen
Ich versuchte zunächst mit setSelection(0)
in jeder Zeile der OnClickListener
dies zu erreichen, war aber erfolglos (ich glaube, weil die ListView
seine Scroll-Position verliert, wenn seine Daten für ungültig erklärt wird -. So mein Aufruf an setSelection rückgängig gemacht wird, ich nicht noch‘ Ich verstehe, wie der ListView darüber entscheidet, wohin nach der Ungültigkeitsliste geblättert wird.
Die einzige funktionierende Lösung, die ich kenne, wurde hier von Romain Guy gegeben: http://groups.google.com/group/android-developers/browse_thread/thread/127ca57414035301
Es geht (View.post
), um den Anruf zu _listView.setSelection(0)
ing. I fand dies ziemlich schlecht. Die neu generierte Liste wird mit unveränderter Scroll-Position angezeigt und es gibt eine erhebliche Verzögerung, bevor es zurück nach oben scrollt.
Gibt es einen besseren Weg, diese Funktionalität zu erreichen?
Jede Hilfe würde sehr geschätzt werden.
Danke!
Danke für den Vorschlag, ich werde es irgendwann bald geben. Die Liste wird in situ geändert, da Breadcrumbs an anderer Stelle auf dem Bildschirm angezeigt werden - die typischen Android-UI-Designs sind für meine spezifischen UI-Ziele und Zielbenutzer weniger geeignet. Auch, vielen Dank für Ihre Hilfe - ich habe eine Reihe Ihrer Stackoverflow Antworten und Ihre CommonsWare Literatur gelesen, und sie haben mir erheblich geholfen, auf dieser Plattform zu beginnen! – aakash
Das ist der Weg, es zu tun, keine magischen Methoden, nur reine Logik. Vielen Dank! –