2017-03-01 11 views
0

ラジオボタンにはラジオボタンが4つあります。私はこのコードを使用します:未確認のラジオボタンのテキストの色を変更します。

int radioButtonID = radioGroup.getCheckedRadioButtonId(); 
View checkedRadioButton = radioGroup.findViewById(radioButtonID); 
int idx = radioGroup.indexOfChild(checkedRadioButton); 

チェックされたラジオボタンのインデックスを取得します。

問題は、毎回特定のラジオボタンがわからないうちに、チェックされたラジオボタンのテキストの色を変更したいということです。そう:私は希望

radioButtonAns1.setTextColor(color);

checkedRadioButton.setTextColor(color); は私がbasicalyは、私が好き、そのメソッドを呼び出すために、特定のラジオボタンを使用する必要があることを私に見せて、「修飾子を追加」する必要がエラーを示していなぜ誰かが私にそのエラーがあるのか​​、それに対する解決策があるのか​​を説明してくれる人なら。私が呼び出すことができる唯一の方法は、醜く見える.setBackgroundColor()です。

ありがとうございます! 、エラーは基本的にはちょっとあなたがの色を変更しようと言っている

RadioButton checkedRadioButton = (RadioButton) radioGroup.findViewById(radioButtonID); 
checkedRadioButton.setTextColor(color); 

答えて

1

あなたがsetTextColorメソッドを使用することができますラジオボタンのグループを含んでいるグループ。あなたが最初にそれを変えたいものを選んでください。これを解決するにはブール値の配列を宣言し、クリックリスナをクリックしてラジオボタンの位置を検出し、次に配列内のブール値をtrueに設定します。

0

は、まあ、それはちょっとまっすぐ進むのである:あなたがRadioButtonに見つけViewをキャストした場合

+0

事は、私はラジオボタンではなくラジオ・グループにアクセスしようということです。私は、ラジオボタンが返され、ビューは返されないように指定しなければなりませんでした。キャストしてトリックを作った –

0

XML選択肢は次のようになります

@ColorセレクタとしてTextColorを設定しました。

<RadioButton 
    android:id="@+id/radio_1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Radio 1" 
    android:textColor="@color/radiobuttonstate"/> 

カラーセレクタは次のようになります。

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:color="#000000"/> 
    <item android:state_checked="true" android:color="#ffffff"/> 
    <item android:color="#00f"/> 
</selector> 
関連する問題