朋友。我对放射线组有一个非常愚蠢的问题。然而,我无法找到解决方案。
我将尝试描述如何重现我的问题: 我有radiobutton组和里面的两个按钮。 我选择其中一个,让我们说第一个。 然后我通过调用 radioGroup.clearCheck()来清除选择 在我尝试选择第一个按钮后,但它没有检查。 如果我检查第二,它会正常检查。 如果我在检查第二后检查第一,它也能正常工作。
这可能听起来很疯狂,但我无法修复它。请帮助我,提前谢谢。
我用
@Override
protected void init() {
View view = View
.inflate(getContext(), R.layout.wo_task_yn_result, null);
performed = (RadioButton) view.findViewById(R.id.yn_yes);
notPerformed = (RadioButton) view.findViewById(R.id.yn_no);
radioGroup = (RadioGroup) view.findViewById(R.id.yn_options);
performed.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(final CompoundButton buttonView,
final boolean isChecked) {
Log.d(YES, "verify");
if (isChecked) {
Log.d(YES, "checked");
result = YES;
}
}
});
notPerformed.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(final CompoundButton buttonView,
final boolean isChecked) {
Log.d(NO, "verify");
if (isChecked) {
Log.d(NO, "checked");
result = NO;
}
}
});
addView(view);
}
创建按钮和
@Override
public void clear() {
radioGroup.clearCheck();
result = "";
}
清除它们
答案 0 :(得分:17)
我遇到了同样的问题。无法选择组中的第一个radioButton,但可以选择其他两个。选择第二个radioButton之后,我也可以选择第一个。我通过单个radioGroup.clearCheck()而不是单独的radioButtonA.setChecked(false)来解决它
答案 1 :(得分:0)
使用OnCheckedChangeListener并使用方法setSelected(true)
或setChecked(true)
。
答案 2 :(得分:0)
如果您想取消选中单选按钮,请尝试以下方法:
@Override
public void clear() {
performed.setChecked(false);
nonperformed.setChecked(false);
}