我有一个放射性组,根据前一组问题的答案加载问题。它是相同的放射性组,只有问题发生变化。
这是我加载问题的代码部分;
if (key.substring(0,2).equalsIgnoreCase("CS")){
actionText.setVisibility(View.GONE);
radioGroup.setVisibility(View.VISIBLE);
radioGroup.removeAllViews();
btnForward.setEnabled(true);
Set optTextset=thisScreenOpts.lhmOptionText.entrySet();
Set optAnswerSet=thisScreenOpts.lhmNextStep.entrySet();
Iterator i=optTextset.iterator();
Iterator i2=optAnswerSet.iterator();
if (thisScreenOpts.title!=null){
myText.setText(thisScreenOpts.title);
}else{
myText.setText("");
}
while (i.hasNext()){
Map.Entry optTextMap=(Map.Entry)i.next();
Map.Entry optAnswerMap=(Map.Entry)i2.next();
RadioButton radioButton=new RadioButton(this);
radioButton.setTag(optAnswerMap.getValue().toString());
radioButton.setText(optTextMap.getValue().toString());
radioGroup.addView(radioButton);
}
}
我有一个前进按钮,用于检查单击哪个单选按钮;
if (masterkey.substring(0,2).equalsIgnoreCase("CS")) {
if (radioGroup.getCheckedRadioButtonId() == -1) {
Toast.makeText(getBaseContext(), "Please select an option", Toast.LENGTH_SHORT).show();
break;
}
int selectedID = radioGroup.getCheckedRadioButtonId();
RadioButton selectedRadio = (RadioButton) findViewById(selectedID);
keyTag = selectedRadio.getTag().toString();
backList.add(masterkey);
masterkey = keyTag;
createScreen(masterkey);
break;
}
我的问题是选定的索引,或者结果;
即使删除了视图,radioGroup.getCheckedRadioButtonId()
也不会被清除。所以keyTag = selectedRadio.getTag().toString();
给出了一个nullPointerException。
请让我知道如何重置无线电组的选定索引。
提前致谢
答案 0 :(得分:0)
知道了。
raduiGroup.clearCheck();
将清除选择。