8

朋友们。我对radiogroup有一个非常愚蠢的问题。但是我无法找到解决方案。

我将尝试描述如何重现我的问题:我有单选按钮组和里面的两个按钮。我选择其中之一,让我们说第一个。 然后我在尝试选择第一个按钮后通过调用radioGroup.clearCheck()来清除选择,但它没有检查。如果我检查第二个,它会正常检查。如果我在检查第 2 次后检查第 1 次,它也可以正常工作。

这听起来可能很疯狂,但我无法解决它。请帮助我,在此先感谢。

我用

@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 = "";
}

清除它们

4

3 回答 3

18

我有同样的问题。无法选择组中的第一个 radioButton,但可以选择其他两个。选择第二个单选按钮后,我也可以选择第一个。我通过执行单个 radioGroup.clearCheck() 而不是单个 radioButtonA.setChecked(false) 来解决它

于 2013-06-26T07:45:05.690 回答
0

如果您想取消选中单选按钮,请尝试以下方法:

@Override
public void clear() {

performed.setChecked(false);

nonperformed.setChecked(false);

}
于 2012-04-05T16:06:37.040 回答
0

使用OnCheckedChangeListener并使用方法setSelected(true)or setChecked(true)

于 2012-04-05T14:32:48.597 回答