Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android TextWatcher何时检查单选按钮_Android_Colors_Textwatcher - Fatal编程技术网

Android TextWatcher何时检查单选按钮

Android TextWatcher何时检查单选按钮,android,colors,textwatcher,Android,Colors,Textwatcher,我正在使用TextWatcher更改EditText的文本颜色。 我有两个单选按钮,我希望选择单选按钮时颜色会改变。例如,如果我单击radio1,文本应变为红色,但是如果我单击radio2,文本的颜色应为绿色。如何调用Listner to单选按钮? 这是我的TextWatcher: TextWatcher watcher= new TextWatcher() { public void afterTextChanged(Editable s) {

我正在使用TextWatcher更改EditText的文本颜色。 我有两个单选按钮,我希望选择单选按钮时颜色会改变。例如,如果我单击radio1,文本应变为红色,但是如果我单击radio2,文本的颜色应为绿色。如何调用Listner to单选按钮? 这是我的TextWatcher:

TextWatcher watcher= new TextWatcher() {
            public void afterTextChanged(Editable s) { 
                if (mRadioGroup.getCheckedRadioButtonId() == R.id.radio1) {
                    mIm.setTextColor(Color.parseColor("#228b22"));
                }
                else {
                    mIm.setTextColor(Color.parseColor("#FF0000"));
                }

            }
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                                    }
                };
        mIm.addTextChangedListener(watcher);

TextWatcher用于监视文本字段。您需要处理按钮的onClick。大概是这样的:

  @Override
  public void onClick (View v) 
  {
    switch (v.getId())
    {
      case R.id.red_text:
        mIm.setTextColor (Color....);
        break;
      case R.id.green_text:
        mIm.setTextColor (Color....);
        break;
    }
  }

别忘了为单选按钮设置OnClickHandler。

我不知道你为什么在这里使用TextWatcher。您需要的是在onCheckedChange中更改文本颜色,就像现在一样

mRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
    @Override
    public void onCheckedChange(RadioGroup group, int id)
    {
         switch (id)
         {
             case (R.id.radio1):
               mIm.setTextColor(Color.parseColor("#228b22"));
               break;
             default:
             mIm.setTextColor(Color.parseColor("#FF0000"));
         }
   }
});

尽管我已经输入了代码nell'onCreate,但文本颜色只有在单击RadioButton后才会更改。“启动”是默认颜色,而不是选中的收音机。谢谢,除非你点击一个单选按钮,否则它不会改变。您可以使用RadioButton rbtn=findViewById之类的东西签入onCreate,如果您需要,它将被选中;如果rbtn.isChecked{mIm.settextcolorbah`