почему Listview + Selector вылетает из XML-файла - PullRequest
1 голос
/ 09 февраля 2011

У меня есть представление списка, в котором я хочу, чтобы фон менял цвет при щелчке пользователем (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>

Когда я пытаюсь запустить с цветом селектор, он вылетает. Если я запускаю только с белым фоном, без вызова селектора все работает нормально.

Может кто-нибудь сказать мне, что не так?

Спасибо, Адриан.

1 Ответ

1 голос
/ 23 ноября 2011

Коды для цветов в XML неверны ... вам нужно добавить '#FF' перед кодом ...

<?xml version="1.0" encoding="utf-8"?>

    <resources>
    <color name="green">#FF808080</color>
    <color name="white">#FFFFFFFF</color>
    </resources>
...