Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 保存单选按钮并检查_Android_Arraylist_Radio Button - Fatal编程技术网

Android 保存单选按钮并检查

Android 保存单选按钮并检查,android,arraylist,radio-button,Android,Arraylist,Radio Button,我需要任何人的帮助 我在单选按钮上遇到了困难 我的概念是如何在arraylist中保存单选按钮,以及再次检查arraylist中的选定值。假设你想象一个测验应用程序。我在一个单独的数组中有一组问题和答案。我正在展示,很好。现在,如果我遇到上一个问题,我应该检查已存储在arraylist中的选定答案。下一个问题也是如此。如何实现这一点?我觉得这很难 当显示第一个问题时,我检查并得到如下答案 btn_practicerg.setOnCheckedChangeListener(new OnChecke

我需要任何人的帮助

我在单选按钮上遇到了困难

我的概念是如何在arraylist中保存单选按钮,以及再次检查arraylist中的选定值。假设你想象一个测验应用程序。我在一个单独的数组中有一组问题和答案。我正在展示,很好。现在,如果我遇到上一个问题,我应该检查已存储在arraylist中的选定答案。下一个问题也是如此。如何实现这一点?我觉得这很难

当显示第一个问题时,我检查并得到如下答案

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));

你的测验会改变答案的顺序吗?我对你的片段理解得很少。但我无法实现..请查看我上面的编辑问题。。