Navigations-Schublade markiert das ausgewählte Element nicht

Ich versuche, die ausgewählte nav-Schublade zu markieren, aber es funktioniert nicht. Es hebt nur beim Drücken der Elemente hervor, bleibt aber nach dem Auswählen des Elements nicht hervorgehoben.

Ich habe den folgenden Code:

  • Wie ist die Anzahl der Ansichten begrenzt?
  • Wie benutzt man Paket in Android?
  • Konfiguration geändert (Orientierungsänderung) und Zerstörung von Aktivitäten - ist das so, wie es funktionieren soll?
  • Push-Benachrichtigung funktioniert falsch, wenn App auf Hintergrund oder nicht läuft
  • OnServiceDisconnected () wird nach dem Aufruf von service stopSelf nicht aufgerufen ()
  • Stream Android Screencast auf PC
  • Die ListView:

    <ListView android:id="@+id/drawer_listview" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:choiceMode="singleChoice" android:divider="@color/drawer_divider" android:dividerHeight="@dimen/drawer_divider_height" android:listSelector="@drawable/list_selector_holo_light" /> 

    Der Selektor:

     <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/transparent" android:state_window_focused="false"/> <item android:drawable="@drawable/list_selector_disabled_holo_light" android:state_enabled="false" android:state_focused="true" android:state_pressed="true"/> <item android:drawable="@drawable/list_selector_disabled_holo_light" android:state_enabled="false" android:state_focused="true"/> <item android:drawable="@drawable/list_selector_background_transition_holo_light" android:state_focused="true" android:state_pressed="true"/> <item android:drawable="@drawable/list_selector_background_transition_holo_light" android:state_focused="false" android:state_pressed="true"/> <item android:drawable="@drawable/list_activated_holo" android:state_activated="true" /> <item android:drawable="@drawable/list_focused_holo" android:state_focused="true"/> 

    Die Drawables sind 9-Patch-Dateien mit Android Holo Colours generiert.

    In meiner Tätigkeit:

      mListView.setAdapter(mAdapter); mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); mListView.setItemChecked(1, true); // Testing mListView.setSelection(1); // Testing 

    Soweit ich weiß, ist die state_activated="true" im selector, wenn das listView item geprüft / ausgewählt ist. Aber es funktioniert nicht

    Bearbeiten:

    Ich setze android:background="@drawable/list_selector_holo_light" für das android:background="@drawable/list_selector_holo_light" und jetzt funktioniert es, aber ich habe immer noch keine Ahnung, warum listSelector nicht funktioniert.

  • Gradle-Fehler: Minimale unterstützte Gradle-Version ist 3.3. Aktuelle Version ist 3.2
  • Wie beurteilen populäre Apps Benutzeranforderungen von ihrer mobilen App auf ihren Server?
  • Android Animation Leistung
  • Konvertieren eines Zeichens in Keycode
  • Google Drive API - der Name darf nicht leer sein: null (aber ich hatte den gültigen Accountnamen an GoogleAccountCredential übergeben)
  • So ändern Sie TextView Text auf DataChange ohne Rückruf TextWatcher Listener
  • 3 Solutions collect form web for “Navigations-Schublade markiert das ausgewählte Element nicht”

    Welche Version von Android benutzt du?

    Ich denke, State_activated arbeitet für API Level 11 und höher.

    Ich habe das erlebt und um Pre Honeycomb zu behandeln, schaffe ich einen angepassten Adapter für ListView und habe folgenden Code in der getView Methode:

     if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { if (mListView.isItemChecked(position)) { holder.tvDrawerItem.setBackgroundColor(R.drawable.list_activated_holo); } else { holder.tvDrawerItem.setBackgroundColor(mContext.getResources().getColor(android.R.color.transparent)); } } 

    Addenda: Unterstützung für Pre HoneyComb mit Android-Unterstützung Bibliothek v4 .

    Wenn Sie annehmen, Android 4+ zu unterstützen, überprüfen Sie einfach Android-Entwickler Beispiel: http://developer.android.com/training/implementing-navigation/nav-drawer.html und überprüfen Sie drawer_list_layout. activatedBackgroundIndicator ist was Sie brauchen:

     <TextView xmlns:android="http://schemas.android.com/apk/res/android" ... android:background="?android:attr/activatedBackgroundIndicator" android:minHeight="?android:attr/listPreferredItemHeightSmall"/> 

    Haben Sie Hintergrundfarbe auf das Listenelement gesetzt?

    Wenn ja, hast du versucht android:drawSelectorOnTop="true" ?

     drawerList.setItemChecked(currentPosition,true); 

    Wo drawerList ist deine NavigationBar's Liste

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