Android, setSelected () und state_selected

Ich habe Probleme mit View.setSelected() . Views werden als markiert markiert – TextViews ändern beispielsweise ihre Schriftfarbe – aber meine Hintergrundselektoren scheinen die Änderung nicht zu registrieren.

Beispielauswahl:

  • Was ist die TextView ID in einem simple_list_item_1 Layout in Android?
  • Android Studio erkennt keine Facebook-Importe
  • Push-Benachrichtigungen auf allen 3 Plattformen (Android, ios, Windows Phone)
  • Wie Cache / Download Google Map V2 Fliese programmgesteuert?
  • Bitmap aus WebView generiert OutOfMemory Crash
  • Android INSTALL_FAILED_UID_CHANGED
  •  <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/transparent" /> <item android:state_selected="true"> <shape android:shape="rectangle"> <solid android:color="#ff8600" /> </shape> </item> </selector> 

    Ich bin nicht einmal sicher, welche Art von Kontext Informationen nützlich sein würde. Die Ansichten sind Kinder eines LinearLayout, und ich setze den ausgewählten Zustand programmgesteuert in einem Touch-Event. Wie ich schon sagte, es scheint zu funktionieren, da die Schriftfarbe von Weiß zu Grau geht, aber der Hintergrund bleibt gleich.

    Bearbeiten : Ich habe für dumme Fehler vor der Buchung überprüft: P. Die Antwort ist nicht "add the android: background attribute".

  • Welches Ereignis sollte ich für das Senden eines "Button gedrückt" Ereignis auf Firebase Analytics verwenden
  • Was ist der Unterschied zwischen setWebViewClient vs. setWebChromeClient?
  • AudioTrack Samplerate Inkonsistenzen
  • CordovaResourceApi importieren ungelösten Telefongap
  • Gradle buildType / productFlavor mit unerwartetem buildConfigField
  • Gibt es eine Möglichkeit, ein TextView in Großbuchstaben zu schreiben?
  • 3 Solutions collect form web for “Android, setSelected () und state_selected”

    Die Reihenfolge der Items in selector xmls, das Default Item sollte immer in der Itemliste liegen.

    Nicht nur die ausgewählte staatliche ordnung ist wichtig, auch die ordnung aller zustände ist wichtig In meinem Fall habe ich state_pressed als erstes hinzugefügt und mein state_selected funktioniert nicht. Also habe ich die Bestellung so verändert, und dann funktionierte es:

     <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_selected="false" android:drawable="@drawable/chooser_normal"></item> <item android:state_selected="true" android:drawable="@drawable/chooser_pressed"></item> <item android:state_pressed="true" android:drawable="@drawable/chooser_pressed"></item> <item android:state_pressed="false" android:drawable="@drawable/chooser_normal"></item> </selector> 

    BEARBEITEN

    Ich habe jetzt auch das Problem, wenn ich die Taste drücke, wird es im ausgewählten Zustand sein, aber nicht im gedrückten Zustand. Also, die Lösung muss sein, um die Staaten wie diese und zusätzlich zu bestellen, ist es eine gute Praxis, um einen Standard-Button-Look hinzuzufügen:

    Zuerst den gewählten Zustand einstellen und danach das gleiche wie den gedrückten Zustand abwechselnd einstellen. (Für jetzt ist Stackoverflow nicht meine Bearbeitung komplett, weiß nicht, warum, sei nur geduldig bitte).

    Es ist nicht offensichtlich, warum, aber ich denke, das könnte funktionieren (beachten Sie die Hinzufügung von state_selected = "false"):

     <item android:state_selected="false" android:drawable="@android:color/transparent" /> <item android:state_selected="true"> <shape android:shape="rectangle"> <solid android:color="#ff8600" /> </shape> </item> 

    Ich hoffe das ist hilfreich

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.