У меня есть представление списка, в котором я хочу, чтобы фон менял цвет при щелчке пользователем (Touched).
Каждый список элементов выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row_item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/row_background">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/RowImg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight = "1"
android:background="#ffffff"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:minHeight="48dp"
android:maxHeight="48dp" />
<TextView android:id="@+id/RowText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:paddingTop="16dp"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="#000080"
android:background="#ffffff"
android:layout_weight = "2" />
</LinearLayout>
</LinearLayout>
Внутри отрисовки у меня есть следующий файл (row_background.xml):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:background="@color/white" />
<item android:state_focused="true" android:state_pressed="true" android:background="@color/green" />
<item android:state_pressed="true" android:background="@color/green" />
<item android:background="@color/white" />
</selector>
И тогда у меня есть файл цвета внутри папки значений (color.xml):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="green">#808080</color>
<color name="white">#ffffff</color>
</resources>
Когда я пытаюсь запустить с цветом селектор, он вылетает. Если я запускаю только с белым фоном, без вызова селектора все работает нормально.
Может кто-нибудь сказать мне, что не так?
Спасибо,
Адриан.