我正在开发一个Android项目,我想使用< selector>在XML文件中。我把< selector>放了在 res / drawable / default_item_background_selector.xml 下的文件中,我用XML属性引用它,如
< TextView的 机器人:背景= “@绘制/ default_item_background_selector”/>
我从Eclipse的内容辅助中获取的XML属性内容,因此可以很好地看到它。但是,当我编译所有内容(并且它编译得很好)并在模拟器或设备上调试它时,应用程序崩溃,根除例外:
09-24 23:55:14.771:E / AndroidRuntime(22478):引起: android.content.res.Resources $ NotFoundException:File 来自drawable的res / drawable / default_item_background_selector.xml 资源ID#0x7f020000
R.drawable.default_item_background_selector 生成得很好,但在运行时,似乎输出目录中没有生成物理文件。以前有人经历过这个吗?是的,我已经清理并重新编译(这么多次)。
答案 0 :(得分: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"
/>