Область :
- используя переопределенный ArrayAdapter;
- с помощью селектора;
- использование isEnabled для отключения предметов.
Aim :
- отключить некоторые элементы списка и загрузить отключенное представление состояния через селектор.
Задача :
- все работает (пользовательский вид, селектор для несфокусированного, фокусированного и нажатого состояний), но отключенные элементы не используют селектор для отключенного состояния.
Расследование : когда я использую isEnabled для отключения некоторых элементов в просмотре списка, средство просмотра иерархии показывает, что отключенные элементы не могут быть сфокусированы, не щелкаются, но (!) Включены.
Это ошибка или чего-то не хватает?
P.S. на самом деле, в документах говорится, что isEnabled не делает setEnabled (false) для элемента списка, он делает его объектом делителя (?).
P.P.S Я также попытался использовать оператор if, чтобы установить мой View (в getView) как isEnabled (false). Но это работает только для целевых предметов?
Мой селектор выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Disabled -->
<item
android:state_enabled="false"
android:textColor="@color/greyDark"
android:drawable="@drawable/list_item_disabled" />
<!-- Pressed -->
<item
android:state_enabled="true"
android:state_pressed="true"
android:textColor="@android:color/white"
android:drawable="@drawable/list_item_pressed" />
<!-- Focused -->
<item
android:state_enabled="true"
android:state_focused="true"
android:textColor="@android:color/white"
android:drawable="@drawable/list_item_focused" />
<!-- Default -->
<item
android:state_enabled="true"
android:drawable="@drawable/list_item_unfocused" />
</selector>