2010-05-07 3 views
9

Я хотел создать настраиваемый селектор текста, который изменил цвет текста, когда пользователь нажимает на TextView. Но получил следующее сообщение об ошибке:android: настраиваемый селектор текста

java.lang.RuntimeException: Не удается запустить активность ComponentInfo {}: android.view.InflateException: Binary XML файл строка # 55: Ошибка при наполнении класса

здесь является то, что у меня есть: вытяжки/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> 

ответ

24

Вы не можете назначить вытяжку для 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> 

создать цвет папки в вашем разрешении, сохранить этот файл как mycolor.xml и присвоить его TextColor, как @ цвет/mycolor

+0

Должна ли быть папка с цветом? Не могу ли я поместить его под папку значений? Я пробовал, что он не работает по значению/ – Yang

+1

он должен быть цвета. Зачем вы вкладываете его в ценности? Также убедитесь, что ваше представление получает состояние от родителя. –

+0

спасибо, исключение больше не существует. Однако, когда я «нажимаю» текстовое изображение, цвет не изменяется. Мне интересно, есть ли какое-то состояние нажатого? Или это только для кнопки? В каком состоянии следует указывать, когда пользователь щелкнул текстовое слово? – Yang

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" /> 

Смежные вопросы