从Android中的多个单选按钮组收集数据

时间:2013-05-15 09:20:46

标签: android radio-button

我有主 - 细节布局。主流程使用列表片段实现,细节片段只是单选按钮组。布局看起来像这样:

my layout

对于列表片段中的每个选项,都有一个带有单选按钮组的相应详细信息片段。我想要的是在点击submit按钮时收集所有选中的(选中的)单选按钮。理想情况下,我想要像一系列已检查的单选按钮。

解决这个问题的最佳方法是什么?

3 个答案:

答案 0 :(得分:0)

当选中单选按钮时,尝试使用hashmap添加带键和值对的选定选项

Map<String, String> mapoption=new HashMap<String, String>();

if(rboption1.isChecked()){
        Log.v(TAG+".onClick", "option 1 selected");

        optionselect=1;
        mapoption.put(String.valueOf(rank), String.valueOf(optionselect));
    }
else if(rboption2.isChecked()){
        Log.v(TAG+".onClick", "option 2 selected");
        optionselect=2;
        mapoption.put(String.valueOf(rank), String.valueOf(optionselect));

    } else if(rboption3.isChecked()){
        Log.v(TAG+".onClick", "option 3 selected");
        optionselect=3;
        mapoption.put(String.valueOf(rank), String.valueOf(optionselect));

    }

    else if(rboption4.isChecked()) {
        Log.v(TAG+".onClick", "option 4 selected");
        optionselect=4;
        mapoption.put(String.valueOf(rank), String.valueOf(optionselect));

    } else {
        Log.v(TAG+".onClick", "No any option is selected");
        optionselect=0;
        mapoption.put(String.valueOf(rank), String.valueOf(optionselect));

    }

答案 1 :(得分:0)

首先如何使用复选框来使用多个选择而不是单选按钮

第2步获取包含所有Radion按钮的视图并按此迭代,找到已选中的单选按钮并将其添加到列表中

RadioGroup rb = (RadioGroup) findViewById(R.id.rdgroup);
    ArrayList<RadioButton> list = new ArrayList<RadioButton>();

    int childcount = rb.getChildCount();
    for (int i=0; i < childcount; i++){
          View v = rb.getChildAt(i);
          if(v instanceof  RadioButton)
              if(((RadioButton)v).isChecked())
              list.add((RadioButton)v);
    }

答案 2 :(得分:0)

为了解决这个问题,我使用了ViewPager进行详细视图。 ViewPager包含一个单选按钮组。在单选按钮组中每次选择单选按钮时,我将选择记录到静态数组中。