Android TextWatcher何时检查单选按钮
我正在使用TextWatcher更改EditText的文本颜色。 我有两个单选按钮,我希望选择单选按钮时颜色会改变。例如,如果我单击radio1,文本应变为红色,但是如果我单击radio2,文本的颜色应为绿色。如何调用Listner to单选按钮? 这是我的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 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`