清除检查问题后的android radiobutton检查

时间:2012-04-05 14:25:38

标签: android radio-button

朋友。我对放射线组有一个非常愚蠢的问题。然而,我无法找到解决方案。

我将尝试描述如何重现我的问题: 我有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 = "";
}

清除它们

3 个答案:

答案 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);

}