9

ユーザーが TextView をクリックしたときにテキストの色を変更する、カスタマイズされたテキスト セレクターを設計したいと考えていました。しかし、次のエラーが発生しました:

java.lang.RuntimeException: Unable to start activity ComponentInfo{}: android.view.InflateException: Binary XML file line #55: Error inflating class

これが私が持っているものです: drawable/text_selector.xml

    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
  <item android:state_enabled="false" 
        android:state_focused="true" 
        android:drawable="@color/black" /> 
  <item android:state_pressed="true" 
        android:drawable="@color/blue" /> 
  <item android:state_focused="true" 
        android:drawable="@color/black" /> 
</selector> 

レイアウト/textview.xml

<TextView android:id = "@+id/last_page_button"
    android:text="@string/last_page_button_string" 
    android:gravity="center_horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:background="#ffffff"
    android:textColor = "@drawable/text_selector"
    android:layout_weight="1" />

値/color.xml

<resources> 
    <color name="white">#ffffffff</color> 
    <color name="black">#ff000000</color> 
    <color name="blue">#ffccddff</color>

4

2 に答える 2

24

drawable を textColor に割り当てることはできません。色でなければなりません。

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_selected="true"

        android:color="@color/color1" />
    <item
        android:color="@color/color2" />
</selector>

res にフォルダー color を作成し、このファイルを mycolor.xml として保存し、それを textColor に @color/mycolor として割り当てます。

于 2010-05-07T21:22:27.810 に答える
0

次のようにセレクターを使用します。

<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:state_selected="true"

    android:color="@color/c1" />
<item
    android:color="@color/c2" />

于 2012-09-21T10:40:31.007 に答える