设置drawable会导致我的应用程序崩溃?

时间:2014-01-24 05:22:56

标签: android listview android-listview

我在selector添加了一些ListView来为其量身定制。我问这里怎么做My ListView lost its behavior after I changed background color?

我按照说明进行了操作。但是,当我为android:background设置ListView指向选择器时,应用程序崩溃了。我不知道为什么。当我将其设置为十六进制颜色时,它可以工作。

以下是名为list_item_state.xml的选择器XML:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:color="#808080"/>
    <item android:state_focused="true" android:color="#808080"/>
    <item android:color="#FFFAF0" />
</selector>  

以下是ListView XML:

<ListView android:id="@+id/list" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:background="#FFFAF0" <!-- changes are made here -->
        android:dividerHeight="1dp"
        android:divider="#808080"/>  

我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

在您的值文件中创建一个xml color.xml,并在此处定义您的颜色

<?xml version="1.0" encoding="utf-8"?>
<resources>
     <color name="magenta">#FF00FF</color>
     <color name="yellow">#FFFF00</color>
     <color name="light_grey">#ffb9b8bb</color>
</resources>

然后在选择器中使用这些颜色

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >

      <item android:state_pressed="true" android:drawable="@color/yellow" />
      <item android:state_focused="true" android:drawable="@color/yellow" />
      <item android:drawable="@color/magenta"/>

</selector>