Android 保存单选按钮并检查
我需要任何人的帮助 我在单选按钮上遇到了困难 我的概念是如何在arraylist中保存单选按钮,以及再次检查arraylist中的选定值。假设你想象一个测验应用程序。我在一个单独的数组中有一组问题和答案。我正在展示,很好。现在,如果我遇到上一个问题,我应该检查已存储在arraylist中的选定答案。下一个问题也是如此。如何实现这一点?我觉得这很难 当显示第一个问题时,我检查并得到如下答案Android 保存单选按钮并检查,android,arraylist,radio-button,Android,Arraylist,Radio Button,我需要任何人的帮助 我在单选按钮上遇到了困难 我的概念是如何在arraylist中保存单选按钮,以及再次检查arraylist中的选定值。假设你想象一个测验应用程序。我在一个单独的数组中有一组问题和答案。我正在展示,很好。现在,如果我遇到上一个问题,我应该检查已存储在arraylist中的选定答案。下一个问题也是如此。如何实现这一点?我觉得这很难 当显示第一个问题时,我检查并得到如下答案 btn_practicerg.setOnCheckedChangeListener(new OnChecke
btn_practicerg.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton radioButton = (RadioButton)group. findViewById(checkedId);
String temp = radioButton.getText().toString();
当我按下下一个问题的“下一步”按钮时,就像这样做,并以字符串获得答案,而当我按下“上一步”按钮时,我使用了相同的方式。。但是我不应该这样做,我应该检查已经选择的答案
对不起,我的英语不好。事先非常感谢..radioGroup=(radioGroup)findViewById(R.id.rdbGp1);
radioGroup = (RadioGroup) findViewById(R.id.rdbGp1);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub for(int i=0; i
RadioButton btn = (RadioButton) radioGroup.getChildAt(i);
String text;
if (btn.isPressed() && btn.isChecked() && questNo < 5)
{
Log.e("corrAns[questNo]",corrAns[questNo]);
if (corrAns[questNo].equals(btn.getText()) && flag==true)
{
score++;
flag=false;
checked = true;
}
else if(checked==true)
{
score--;
flag=true;
checked = false;
}
}
} tvScore.setText("Score: " + Integer.toString(score) + "/5"); Log.e("Score:", Integer.toString(score)); } });
radioGroup.setOnCheckedChangeListener(新的radioGroup.OnCheckedChangeListener(){
@在checkedChanged(RadioGroup组,int checkedId){//TODO为(int i=0;i)自动生成的方法存根时重写公共void
RadioButton btn=(RadioButton)radioGroup.getChildAt(i);
字符串文本;
if(btn.isPressed()&&btn.isChecked()&&questNo<5)
{
Log.e(“corrAns[questNo]”,corrAns[questNo]);
if(corrAns[questNo].equals(btn.getText())&&flag==true)
{
分数++;
flag=false;
选中=正确;
}
else if(选中==true)
{
分数--;
flag=true;
选中=错误;
}
}
}tvScore.setText(“分数:+Integer.toString(分数)+“/5”);Log.e(“分数:,Integer.toString(分数));});
这是您可以根据需要继续修改的代码段。。。
我希望这会有所帮助
还请检查此项我不知道您的实现,但我有一个名为Question的类,例如,它将包含问题、数组中的答案、正确答案(仅数组的id)和所选答案(仅数组的id)
因此,在您的程序中,您将有一组问题对象,您将选择该选项,然后您可以将radioButton.toggle();
使用HashMap HashMap
将值存储在
btn_practicerg.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton radioButton = (RadioButton)group. findViewById(checkedId);
String temp = radioButton.getText().toString();
hashMap.put(group,checkedId);
稍后,您可以在hashmap中检索RadioGroup的值,只需将RadioGroup的对象作为键传递给hashmap即可
RadioGroup mOption = (RadioGroup) findViewById(R.id.option);
mOption.check(hashMap.get(mOpiton));
你的测验会改变答案的顺序吗?我对你的片段理解得很少。但我无法实现..请查看我上面的编辑问题。。