Не работает селектор Android для выбранного элемента
У меня есть просмотр списка, в котором я хочу выделить выбранные элементы пользовательским способом. Я устанавливаю свойства каждого элемента в адаптереgetView
метод, в том числеitemView.setSelected(true)
.
Основной макет определяет представление списка следующим образом:
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="multipleChoice"
android:listSelector="@drawable/list_selector" />
(Игра в режиме выбора тоже не помогает).
list_selector почти пустая заглушка:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@android:color/transparent" />
</selector>
Мне не нужны конкретные стили для просмотра списка в целом, поэтому я бы оставил стиль по умолчанию, но в соответствии сэтот ответнам нужен селектор для просмотра списка, чтобы селектор элементов работал. Во всяком случае, безlist_selector проблема остается.
Расположение элемента списка:
<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">
и это ссылается на следующееlistitem_background селектор:
<?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>
Проблема в том, что выбранные элементы не имеют белого фона.
Если я изменюandroid:state_selected="true"
селектор вlistitem_background например,android:state_pressed="true"
затем селектор начинает работать, то есть фон элемента становится белым, если к элементу прикоснуться.
Итак, я полагаю, есть ошибка либо в селекторах, либо в способе выбора элементов.
Я могу написать обходной путь, установив фон из Java или используя проверяемые состояния, но я хочу понять и исправить текущую проблему с селекторами. Заранее спасибо.