2

我正在开发一个 android 项目,我想在 XML 文件中使用 <selector> 。我已将 <selector> 放在res/drawable/default_item_background_selector.xml下的文件中,并且使用 XML 属性引用它,例如

<TextView android:background="@drawable/default_item_background_selector"/>

我从 Eclipse 的内容辅助中获得的 XML 属性内容,所以可以很好地看到它。但是,当我编译所有内容(并且编译得很好)并在模拟器或设备上对其进行调试时,应用程序崩溃,根异常为:

09-24 23:55:14.771: E/AndroidRuntime(22478): 由: android.content.res.Resources$NotFoundException: 来自可绘制资源 ID #0x7f020000 的文件 res/drawable/default_item_background_selector.xml

R.drawable.default_item_background_selector生成得很好,但在运行时,输出目录中似乎没有生成物理文件。以前有人经历过吗?是的,我已经清理并重新编译了(很多次)。

4

1 回答 1

1
Created default_bg.xml in Drawable folder.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
  <item android:state_selected="true"
        android:drawable="@drawable/red" />
    <item android:state_pressed="true" android:state_selected="false"
        android:drawable="@drawable/blue" />
    <item android:state_selected="false"
          android:drawable="@drawable/yellow" />

</selector>

Create drawables in **strings.xml** is
     <drawable name="blue">#0000FF</drawable>
     <drawable name="red">#FF0000</drawable>
     <drawable name="yellow">#FFFF55</drawable>

And set background to textview
<TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
        android:background="@drawable/default_bg"
         />
于 2012-09-25T06:16:44.977 回答