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 に答える