Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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_Radio Button - Fatal编程技术网

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

在Android中从多个单选按钮组收集数据,android,radio-button,Android,Radio Button,我有主细节布局。主流程使用列表片段实现,而细节片段只是单选按钮组。布局如下所示: 对于列表片段中的每个选项,都有一个对应的带有单选按钮组的详细信息片段。我想要的是在单击submit按钮时收集所有选中的单选按钮。理想情况下,我想像一个检查单选按钮阵列的东西 解决此问题的最佳方法是什么?选中单选按钮时,尝试使用hashmap添加具有键和值对的选定选项 Map<String, String> mapoption=new HashMap<String, String>();

我有主细节布局。主流程使用列表片段实现,而细节片段只是单选按钮组。布局如下所示:

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


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

选中单选按钮时,尝试使用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));

    }
mappoption=newhashmap();
if(rboption1.isChecked()){
Log.v(标记+“.onClick”,“选择选项1”);
选项选择=1;
map option.put(String.valueOf(rank),String.valueOf(optionselect));
}
else if(rboption2.isChecked()){
Log.v(标记+“.onClick”,“选择选项2”);
选项选择=2;
map option.put(String.valueOf(rank),String.valueOf(optionselect));
}else if(rboption3.isChecked()){
Log.v(标记+“.onClick”,“选择选项3”);
选项选择=3;
map option.put(String.valueOf(rank),String.valueOf(optionselect));
}
else if(rboption4.isChecked()){
Log.v(标记+“.onClick”,“选择选项4”);
选项选择=4;
map option.put(String.valueOf(rank),String.valueOf(optionselect));
}否则{
Log.v(标记+“.onClick”,“未选择任何选项”);
选项选择=0;
map option.put(String.valueOf(rank),String.valueOf(optionselect));
}

1st使用复选框而不是单选按钮如何

第二,查看包含所有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);
    }
RadioGroup rb=(RadioGroup)findviewbyd(R.id.rdgroup);
ArrayList=新建ArrayList();
int childcount=rb.getChildCount();
for(int i=0;i
为了解决这个问题,我使用了ViewPager查看详细信息。ViewPager包含一个单选按钮组。在单选按钮组中每次选择单选按钮时,我都会将选择记录到一个静态数组中。

我建议发布一些您已经拥有的相关代码。这个问题并没有表明您已经为此做出了一些努力。我不是在问代码解决方案,而是要问方向。我还没有实施这一部分。我已经实现了上面的接口,我正在考虑解决当前问题的方法。这就是为什么我问什么是解决问题的好方法(架构)。