无法检查radiobutton

Bes*_*art 5 java android radio

为什么我在以编程方式取消选中后无法检查相同的单选按钮,当我单击下一个按钮时,除非我检查另一个单选按钮.

这是取消选中radiobuttons的代码:

        if(q.trim() != null || q.trim() != ""){
            questionView.setText(q);
            r1.setChecked(false);
            r2.setChecked(false);
            r3.setChecked(false);

            r1.clearFocus();
            r2.clearFocus();
            r3.clearFocus();

            r1.setText(varNames.get("ra0"));
            r2.setText(varNames.get("ra1"));
            r3.setText(varNames.get("ra2"));
        }
Run Code Online (Sandbox Code Playgroud)

这是我尝试检查的地方:

public void questionClicked(View view) {

    boolean checked = ((RadioButton) view).isChecked();

    switch(view.getId()) {
        case R.id.firstQuestion:
            if(!checked) {
                r1.setChecked(true);
            }
            getAnswer(R.id.firstQuestion);

            break;
        case R.id.secondQuestion:
            if(!checked) {
                r2.setChecked(true);
            }
            getAnswer(R.id.secondQuestion);

            break;
        case R.id.thirdQuestion:
            if(!checked) {
                r3.setChecked(true);
            }
            getAnswer(R.id.thirdQuestion);

            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

Has*_*kın 0

我认为你应该制定一种清除选中单选按钮的方法。并在每次单击“下一步”按钮时调用它。这是一个例子:

private void clearcheck(){        
        if(q.trim() != null || q.trim() != ""){
            questionView.setText(q);
            r1.setChecked(false);
            r2.setChecked(false);
            r3.setChecked(false);

            r1.clearFocus();
            r2.clearFocus();
            r3.clearFocus();

            r1.setText(varNames.get("ra0"));
            r2.setText(varNames.get("ra1"));
            r3.setText(varNames.get("ra2"));
        }
}
Run Code Online (Sandbox Code Playgroud)

像clearcheck()这样调用它;在下一个按钮的 onclick 中。