2016-04-11 10 views
1

私のシナリオは、ユーザーがTextViewテキストをクリックすると、黒色から赤色に変わります。私はこの問題を解決しようとしましたが、何も起こりませんでした。ここに私の努力がある:私のTextView選択時にTextViewのテキストの色を変更するにはどうすればよいですか?

<TextView 
     android:id="@+id/text" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:textSize="24sp" 
     android:textColor="@color/text_selector" 
     android:text="Shamima Sultana Shaumi"/> 

とtext_selectorクラスは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:color="@android:color/red"/> 
    <item android:state_pressed="true" android:state_enabled="false" android:color="@android:color/red" /> 
    <item android:state_enabled="false" android:color="@android:color/red" /> 
    <item android:color="@android:color/black"/> 
</selector> 

TextViewに私をクリックするたびに、何が起こっていません。私は何が問題なのか分かりません。

+0

クリックしている間は色を変更したい(クリックしている限り)か、クリック後にテキストの色を変更しますか? –

+0

backgroundColorではなく、そのdrawableに背景を設定します。 – zgc7009

+0

@BartekLipinskiクリック後にテキストの色を変更したいと思います。 – androidcodehunter

答えて

2

セレクターは、例えば、この:あなたのtextViewため

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:color="@android:color/red" /> 
    <item android:color="@android:color/black"/> 
</selector> 

と使用このOnClickListener

textView.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     boolean isSelectedAfterClick = !v.isSelected(); 
     v.setSelected(isSelectedAfterClick); 

     if (isSelectedAfterClick){ 
      //do something 
     } else { 
      //do something 
     } 
    } 
}); 

代わりのstate_selectedisSelectedsetSelectedあなたが使用することができます(それぞれ)state_activatedisActivatedsetActivated

+0

あなたの努力に感謝します。それは今働いている:) – androidcodehunter

0

あなたは

android TextView : Change Text Color on clickを試してみましたかOnTouchListenerを使用してみたり、クリック時には、JavaコードでのテキストビューのためにOnClickListenerかもしれ実行し、色を変えたい場合はなかったです。

+0

いいえ、textclickの後にxmlセレクタで色を変更したいと思います。 – androidcodehunter

関連する問題