2016-08-31 6 views
0

私は4つのTextViewを持っており、ユーザは一度に1つしか選択できません。私は、選択したtextViewの背景色を変更したいと思います。ユーザーが他のテキストビューを選択した場合、以前選択したtextViewは無効にする必要があります。ここでTextViewの背景色を有効または無効にします

はTextViewのための私のXMLです:

<TextView 
       android:id="@+id/goalText2" 
       android:layout_width="match_parent" 
       android:layout_height="70dp" 
       android:background="@drawable/white_border_rounded" 
       android:padding="4dp" 
       android:layout_margin="18dp" 
       android:layout_gravity="fill" 
       android:gravity="center" 
       android:text="@string/goal2" 
       android:textColor="@color/white" 
       android:textSize="21sp"/> 

私はTextViewのための個別のXML作成しました:私はプログラム的にそれを実行しようとしましたが、それは私のために動作しませんでした

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_pressed="true" > 
     <shape android:shape="rectangle" > 
      <corners android:radius="50dip" /> 
      <stroke android:width="1dip" android:color="@color/white" /> 
      <gradient android:angle="-90" android:startColor="#ffffff" android:endColor="#ffffff" /> 
     </shape> 
    </item> 
    <item android:state_focused="true"> 
     <shape android:shape="rectangle" > 
      <corners android:radius="50dip" /> 
      <stroke android:width="1dip" android:color="@color/white" /> 
      <solid android:color="#ffffff"/> 
     </shape> 
    </item> 
    <item > 
     <shape android:shape="rectangle" > 
      <corners android:radius="50dip" /> 
      <stroke android:width="1dip" android:color="@color/white" /> 
      <gradient android:angle="-90" android:startColor="@color/transparent_white" android:endColor="@color/transparent_white" /> 
     </shape> 
    </item> 
</selector> 

を。

public void onClick(View v) { 
    switch(v.getId()){ 
     case R.id.goalText1: 
      if(mGoal1.isSelected()) 
       mGoal1.setBackgroundColor(Color.WHITE); 
      break; 
     } 

どのようにすればいいですか?あなたができるコードに続いて

<item android:state_selected="true">...</item> 

+0

あなた自身でRadioButtonを実装しようとしています。どうして? –

+0

@VladMatvienko申し訳ありませんが、私はあなたを取得していません。ラジオボタンをどこに適用していますか? –

+2

実装しようとしている機能は、RadioButtonの機能です。 RadioButtonを使用します。 –

答えて

0

は、あなたの背景のXMLでstate_selected属性を使用し

mGoal2.setSelected(true); 
mGoal1.setSelected(false); 

背景を変更するには。

関連する問題