1

ユーザーが押したときにtextColorインを変更しようとしています。TextViewでハイパーリンクボタンのようなものを作ろうとしていますWindows 8。このセレクターは にありres/color folderます。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_hovered="true">
        <color android:color="@color/darkBlue"/>
    </item>
    <item  android:state_pressed="true">
        <color android:color="@color/lightBlue"/>
    </item>
    <item android:color="@color/black"/> <!-- default color -->
</selector>

そして、私はこのように使用します

<TextView
        android:id="@+id/tw_language"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/language_label"
        android:layout_marginRight="3dp"
        android:clickable="true"
        android:autoLink="all"
        android:text="@string/default_language_label"
        android:textColor="@color/language_button"

        />

設定したこのtextViewへの参照を取得したときの活動中mLanguage.setPaintFlags(mLanguage.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

下線付きのテキストを取得します。そして、これを使用するとアプリがクラッシュします。私が設定した場合

android:background="@color/language_button"

代わりに、textColor正常に動作します。私が間違っていることを誰かが知っていますか?

4

2 に答える 2