Android:使用自己的点击侦听器修改对象的字段

时间:2015-09-28 14:42:58

标签: java android listener android-radiobutton

我有几个单选按钮,每个按钮都有一个View.OnClickListener。这些听众的整个目的是让我能够在点击RadioButton时更改与RadioButton相关联的文字的颜色。我的问题是,我不知道该怎么做。

以下是我为每个RadioButton设置监听器的方法:

radioButton.setOnClickListener(badAnswerListener());

以下是badAnswerListener方法:

private View.OnClickListener badAnswerListener(){
     return new View.OnClickListener() {
         @Override
         public void onClick(View arg0) {
             //How do I change the radioButton's color?

         }
     };
}

3 个答案:

答案 0 :(得分:0)

如果radioButton是类的私有成员:

radioButton.setTextColor(R.color.customcolor);

看到这一点,这几乎是同一个问题:

Changing Text color of RadioButton if clicked in android

答案 1 :(得分:0)

如果你只是使用单选按钮clicklistners来改变文本的颜色。看看更好的方法。当选中单选按钮时单击更改文本颜色

1)使用如下的radio_text_selector.xml并将其放入res / color文件夹:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_checked="true" android:color="@android:color/red" />
   <item android:color="#504f4f" /> <--default case
</selector>

在“android:textColor”属性中使用上面的选择器,如下所示

<RadioButton 
     android:id="@+id/radioButton"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"            
     android:textColor="@color/radio_text_selector" />

答案 2 :(得分:0)

private View.OnClickListener badAnswerListener(){
     return new View.OnClickListener() {
         @Override
         public void onClick(View arg0) {
             // Change the clicked radioButton's text to red
             ((RadioButton) arg0).setTextColor(Color.RED);
         }
     };
}