【问题标题】:Android: Modifying Object's Fields With Its Own Click ListenerAndroid:使用自己的点击监听器修改对象的字段
【发布时间】:2015-12-25 20:38:52
【问题描述】:

我有几个单选按钮,每个按钮都有一个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?

         }
     };
}

【问题讨论】:

    标签: java android listener android-radiobutton


    【解决方案1】:

    如果 radioButton 是类的私有成员:

    radioButton.setTextColor(R.color.customcolor);

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

    Changing Text color of RadioButton if clicked in android

    【讨论】:

      【解决方案2】:

      如果您仅使用单选按钮单击列表来更改文本颜色。看看更好的方法。在选中(单击)单选按钮时更改文本颜色

      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" />
      

      【讨论】:

        【解决方案3】:
        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);
                 }
             };
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-25
          • 1970-01-01
          相关资源
          最近更新 更多