保存单选按钮并检查

时间:2013-08-09 07:40:05

标签: android arraylist radio-button

我需要任何人帮助..

我在检查单选按钮时面临困难。

我的概念是如何在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();

当我按下一个按钮寻找下一个问题时,就像这样做,并在string中得到答案,而我按前面我已经使用了相同的那样..但我不应该这样做而不是我应该检查已经选择了答案..

抱歉我的英语不好。非常感谢提前..

3 个答案:

答案 0 :(得分:0)

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

这是你可以继续根据你的需要修改的片段...... 我希望这个能帮上忙 还请查看此link

答案 1 :(得分:0)

我不知道你的实现,但我会有一个名为Question的类,例如,它包含问题,数组中的答案,正确的答案(只是数组的id)和选中的回答(只是数组的id)。

因此,在您的程序中,您将拥有一组Question对象,并且您将选择该选项,然后您可以放置​​radioButton.toggle();

答案 2 :(得分:0)

使用HashMap<RadioGroup,Integer> 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));