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)
我认为你应该制定一种清除选中单选按钮的方法。并在每次单击“下一步”按钮时调用它。这是一个例子:
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 中。
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |