Android ListView ячейка с динамическим цветом фона и селектором - PullRequest
0 голосов
/ 24 мая 2011

У меня есть заполненное представление списка с различными фонами в зависимости от того, к какой категории относится данный элемент, все они установлены в методе getView() адаптера представления. У меня проблема в том, что при этом скрывается селектор.

Я наткнулся на хорошее исправление для этого

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" android:state_selected="true" android:drawable="@android:color/transparent" /> 
    <item android:state_selected="true" android:drawable="@android:color/transparent" /> 
    <item android:state_pressed="true" android:state_selected="false" android:drawable="@android:color/transparent" /> 
    <item android:state_selected="false" android:drawable="@color/some_color" /> 
</selector>

Это работает, но будет означать, что мне придется сделать по одному для каждой категории, мне кажется, что это избыточный код. Есть ли способ, которым я могу использовать этот селектор цвета, но для динамической установки state_selected="false" в коде?

1 Ответ

1 голос
/ 24 мая 2011

Ваш ListView поставляется с любым адаптером.будь то массив адаптер или расширение базового адаптера.мы устанавливаем адаптер в список.Наше мнение управляется этим адаптером.так что иди к этому адаптеру.потому что вы должны дать какое-то условие.я дал свою формулировку, что если позиция 2, то view.setSelected(false).Также вы можете установить цвет фона как отключить этот вид здесь.

...