У меня небольшая проблема здесь с этим ListView:андроид: listSelector после notifyDataSetChanged(), цвет исчезает
<ListView android:id="@+id/employees_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="2dp"
android:paddingRight="1dp"
android:background="@drawable/borderlist"
android:choiceMode="singleChoice"
android:listSelector="#48ad82"
android:layout_below="@id/employees_header">
</ListView>
Который содержит этот макет:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row_employee"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingTop="13dp"
android:paddingBottom="13dp"
android:descendantFocusability="blocksDescendants">
<RadioButton android:id="@+id/radio_employee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:focusable="false"/>
<TextView
android:id="@+id/text_employeename"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_toRightOf="@id/radio_employee"
android:layout_marginTop="3dp"
android:layout_marginLeft="5dp"
android:focusable="false" />
</RelativeLayout>
edit2: Упрощение на вопрос так как я могу:
Когда я выбираю элемент в списке, он меняет цвет из-за андроида: listSelector. Когда я вызываю notifyDataSetChanged() в коде, этот цвет исчезает, пока я не прокручу список вверх или вниз. Как я могу заставить цвет не исчезать?
Кто-то ответил использовать селектор, как это:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
<shape>
<solid android:color="#48ad82" />
</shape>
</item>
<item>
<shape>
<solid android:color="#unselectedcolor" />
</shape>
</item>
</selector>
Я поставил этот селектор в качестве фона. Это не работает вообще. Цвет элементов даже не изменяется, когда я их выбираю
Редактирование 1: Чтобы указать, цвет отображается при прокрутке списка.
Я не понять основную проблему. Не могли бы вы упростить свой вопрос ... – DynamicMind
Вы нашли способ решить эту проблему? –