мне нужно установить альтернативный цвет в список просмотра строк, но когда я делаю, что она удаляет/отключает на фокус по умолчанию желтый фонAndroid ListView с другим цветом и фокусом цвета
Я попытался с BackgroundColor rowView.setBackgroundColor (НЕКОТОРЫЙ ЦВЕТ);
также с флагом.
rowView.setBackgroundColor(R.drawable.view_odd_row_bg);
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_window_focused="false"
android:drawable="@color/odd" />
<!--
Even though these two point to the same resource, have two states
so the drawable will invalidate itself when coming out of pressed
state.
-->
<item
android:state_focused="true"
android:state_enabled="false"
android:state_pressed="true"
android:drawable="@color/highlight" />
<item
android:state_focused="true"
android:state_enabled="false"
android:drawable="@color/highlight" />
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@color/highlight" />
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@color/highlight" />
<item
android:state_focused="true"
android:drawable="@color/highlight" />
</selector>
но это не будет работать.
Есть ли способ установить цвет фона и цвет фокусировки одновременно, который будет работать.
Как я могу это сделать с помощью bindView? Я пробовал что-то вроде этого: int i = 0; view.setBackgroundResource (i% 2 == 0? R.drawable.bindview_bg_gray: R.drawable.bindview_bg_white); i ++; , но после нескольких свитков он становится все беспорядочным! –
Чрезвычайно поздний комментарий, но для потомков: Philipz полагается на последовательный вызов bindView, которого вы просто не должны делать. Никогда не предполагайте ничего о порядке вызовов bindView. Вместо этого попробуйте выполнить операцию modulo на cursor.getPosition() (курсор является одним из параметров метода bindView). – benvd