Android:legen Sie ein Element als ausgewählt, wenn die ListView öffnet?
Einer Aktivität hat eine Schaltfläche und ein ListView.
Zunächst nur der Button sichtbar ist. Wenn die Taste gedrückt wird, wird das ListView-Steuerelement angezeigt.
Wenn das Symbol angezeigt wird, ist es möglich für mich zu zeigen, ein bestimmtes Element als ausgewählt/fokussiert?
Ein Anwendungsfall könnte sein, dass nehme an, es ist eine Liste der Spracheinstellungen und wenn die Liste geöffnet wird, wird die aktuell ausgewählte Sprache muss gezeigt werden, wie markiert.
Wenn ich weiß, der index des Elements, wie Sie so konzentriert auf dem display?
InformationsquelleAutor der Frage kiki | 2010-10-08
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurz, ListView::setSelection(int position) ist, was Sie brauchen. Allerdings, je nachdem, ob das Gerät im touch-Modus ist oder nicht, es kann oder kann nicht haben visual-Effekt (background-highlighting). Für mehr details, siehe Android ListView-Auswahl-Problem
InformationsquelleAutor der Antwort onlygo
Poste ich meine Lösung, weil google immer noch nicht wissen, die Antwort.
InformationsquelleAutor der Antwort Piotr L.
Wenn Sie eine
Adapter
für IhreListView
fügen Sie diesen code in Ihre adapter:In Ihrem
Activity
:InformationsquelleAutor der Antwort Bobs
Bin ich über einen Adapter und wollte nicht festlegen benutzerdefinierter hintergrund " Farben, aber verwenden Sie die android -: state_selected in der drawable xml. SetSelection nicht für mich arbeiten, aber vielleicht auch, da brauchte ich SetNotifyDataChanged, die zeigt, dass die Ausgewählten Zustand ist nicht persistent.
Fand ich auch, dass der Ausgewählte Zustand für ein Element in einem ListView-Steuerelement ist nicht persistent, da SetNotifyDataChanged Ergebnisse in die Aktualisierung der ListView-layout, das löscht Sie alle. Einstellung der Element Ausgewählt im Adapter ist GetView ist zu früh zu.
Schließlich habe ich den Ausgewählt-Zustand für die Ansicht des ausgewählten Elements nach dem layout der listview geändert wurde, die ist, wenn LayoutChange-Ereignis wird ausgelöst (in Java ist es wahrscheinlich das anbringen eines zu OnLayoutChangeListener der ListView).
Machen es wirklich einfach, die Speichere ich die Ansicht des ausgewählten Elements als Adapters SelectedItemView.
In der ListView LayoutChange eventhandler-ich habe gerade die adapter SelectedItemView.Selected auf true.
Hier der code von meiner Tätigkeit, wo ich den Adapter für die ListView und auch abonnieren, um LayoutChange (oder in Java bringen Sie eine OnLayoutChangeListener)
Hier ist mein code für die Adapter:
InformationsquelleAutor der Antwort Dacker