Android RadioButton无法使用setChecked(false)方法取消设置

Android RadioButton无法使用setChecked(false)方法取消设置,android,radio-button,Android,Radio Button,如果我在第一次选择单选按钮,它工作正常。但是如果我打电话取消选择它 ((RadioButton)findViewById(R.id.id)).setChecked(false); 然后,以后即使我试图通过调用setChecked(true)将其选中,也不会工作,除非用户从屏幕上选择它 有人见过这个吗?还是只有我 if(Val != null){ if( ((RadioButton) findViewById(R.id.ID1)).getText().toStrin

如果我在第一次选择单选按钮,它工作正常。但是如果我打电话取消选择它 ((RadioButton)findViewById(R.id.id)).setChecked(false); 然后,以后即使我试图通过调用setChecked(true)将其选中,也不会工作,除非用户从屏幕上选择它

有人见过这个吗?还是只有我

        if(Val != null){
        if( ((RadioButton) findViewById(R.id.ID1)).getText().toString().trim().equals(Val))
        ((RadioButton) findViewById(R.id.ID1)).setChecked(true);
        else if(((RadioButton) findViewById(R.id.ID2)).getText().toString().trim().equals(Val))
        ((RadioButton) findViewById(R.id.ID2)).setChecked(true);
        }
        else {
            ((RadioButton) findViewById(R.id.ID1)).setChecked(false);
            ((RadioButton) findViewById(R.id.ID2)).setChecked(false);
        }
如果else部分至少执行一次,那么一切都会变得一团糟。 当我单步通过我的调试器时,我可以看到执行按照正确的路径进行,并将其设置为true。它只被执行了一次,我检查过了。我不会在代码的任何其他部分将其重置为false。

我找到了解决方案

不可能取消选中特定单选按钮。您只能将其他项设置为true

因此,要清除所有选中的项目,您应该调用RadioGroup上的
clearcheck()
方法

所以我的另一部分是

        else {
            ((RadioGroup) findViewById(R.id.ID0)).clearCheck();
        }

取一个不可见的单选按钮并检查它。组中的所有其他单选按钮都将自动取消选中。

我们可以查看您的源代码吗?我尝试了这个android:saveEnabled=“false”,但这对我没有帮助。哇,至少我不是一个人…有同样的问题,虽然我的布局是图像-文本-检查图像-文本-检查,但我不能只制作一个放射组。。。我发现,当我不能用setChecked(false)设置收音机时,这是一个“bug”,android开发者必须做的事情就是取消设置。谢谢你的信息,我会试试的…欢迎你。那对你有用吗?正是我需要的!有时候单选按钮会弄得一团糟。谢谢或者在我的例子中,当我离开RadioGroup并玩两个单选按钮时,它变得更清晰了。这解决了我的问题。我试图重新检查已经选中的单选按钮,该按钮在UI中显示为未选中。