Die Android-Auswahl für das ausgewählte Element funktioniert nicht

Ich habe eine Listenansicht, in der ich ausgewählte Elemente auf benutzerdefinierte Weise hervorheben möchte. Ich stelle alle Elementeigenschaften im Adapter eingetView Methode, einschließlichitemView.setSelected(true).

Das Hauptlayout definiert die Listenansicht folgendermaßen:

<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="multipleChoice"
android:listSelector="@drawable/list_selector" />

(Das Spielen mit dem Auswahlmodus hilft auch nicht).

Daslist_selector ist ein fast leerer Stummel:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@android:color/transparent" />
</selector>

Ich benötige keine spezifischen Stile für die Listenansicht als Ganzes, daher würde ich einen Standardstil beibehalten, aber gemäßdiese Antwortbenötigen wir einen Selektor für eine Listenansicht, damit der Item-Selektor funktioniert. Jedenfalls ohne dielist_selector das problem bleibt.

Das Listenansicht-Elementlayout:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:background="@drawable/listitem_background"
    android:orientation="vertical">

und es verweist auf das Folgendelistitem_background Wähler:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@android:color/white" />
    <item android:drawable="@android:color/transparent" />
</selector>

Das Problem ist, dass ausgewählte Elemente keinen weißen Hintergrund haben.

Wenn ich mich ändereandroid:state_selected="true" Selektor in derlistitem_background zum Beispielandroid:state_pressed="true"Wenn Sie einen Gegenstand berühren, wird der Hintergrund des Gegenstands weiß.

Ich nehme also an, es liegt entweder ein Fehler in den Selektoren oder in der Art und Weise vor, wie ich Elemente auswähle.

Ich kann eine Problemumgehung schreiben, indem ich den Hintergrund in Java einstelle oder überprüfbare Zustände verwende, aber ich möchte das aktuelle Problem mit Selektoren verstehen und beheben. Danke im Voraus.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage