导航抽屉突出显示所选项目不起作用

Nim*_*a G 9 android android-layout

我正在尝试突出显示所选的导航抽屉项目,但它不起作用.它仅在按下项目时突出显示,但在选择项目后不会保持突出显示.

我有以下代码:

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" />
Run Code Online (Sandbox Code Playgroud)

选择器:

<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"/>
Run Code Online (Sandbox Code Playgroud)

drawables是使用Android Holo Colors生成的9个补丁文件.

在我的活动中:

  mListView.setAdapter(mAdapter);
  mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
  mListView.setItemChecked(1, true); // Testing
  mListView.setSelection(1); // Testing
Run Code Online (Sandbox Code Playgroud)

据我所知,state_activated="true"选择器中的是选中/选择listView项.但它不起作用.

编辑:

我设置android:background="@drawable/list_selector_holo_light"了行布局,现在它正在工作,但我仍然不知道为什么listSelector不工作.

Pon*_*pat 0

您是否为列表项设置了背景颜色?

如果是这样,你尝试过吗android:drawSelectorOnTop="true"