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>
:
あなた自身でRadioButtonを実装しようとしています。どうして? –
@VladMatvienko申し訳ありませんが、私はあなたを取得していません。ラジオボタンをどこに適用していますか? –
実装しようとしている機能は、RadioButtonの機能です。 RadioButtonを使用します。 –