我正在开设一个测验应用程序,我有20个选择题。我必须将已检查的单选按钮值存储到字符串数组中,以便我可以使用稍后在应用程序中由用户选择的答案。下面是获取单选按钮文本的代码。现在我如何将这20个选项保存到数组中?
if (rg.getCheckedRadioButtonId() != -1) {
RadioButton uans = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
String ansText = uans.getText().toString();
}
答案 0 :(得分:1)
您可以将它们保存在字符串的数组列表中 问题的索引也是数组中答案的索引
ArrayList<String> answersStringArray= new ArrayList<String>();
if (rg.getCheckedRadioButtonId() != -1) {
RadioButton uans = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
String ansText = uans.getText().toString();
answersStringArray.add(ansText);
}
答案 1 :(得分:0)
您可以声明HashMap逐个保存复选框值
HashMap<String,String> hm=new HashMap<>();
使用hm.put(question_number,checked_answer);
在选中单选按钮时向HashMap添加新值
如果在检查后再次检查问题
,请使用hm.remove(question_number);
从hashmap中删除值
完成测验后你可以像这样遍历HashMap
for(String key :hm.keySet()){
System.out.println(hm.get(key));
}
答案 2 :(得分:0)
你能得到quesText吗?
尝试使用HashMap
HashMap<String,String> mMap = new HashMap<>();
if (rg.getCheckedRadioButtonId() != -1) {
RadioButton uans = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
String ansText = uans.getText().toString();
mMap.put(quesText,ansText);
}
如果你只保存答案,你可以使用ArrayList
ArrayList<String> mArrayList = new ArrayList<>();
if (rg.getCheckedRadioButtonId() != -1) {
RadioButton uans = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
String ansText = uans.getText().toString();
mArrayList.add(ansText);
}