我有主细节布局。主流程使用列表片段实现,细节片段只是单选按钮组。布局如下所示:
对于列表片段中的每个选项,都有一个带有单选按钮组的相应详细信息片段。我想要的是在单击按钮时收集所有选中(选定)的单选按钮submit
。理想情况下,我想要一组选中的单选按钮。
解决这个问题的最佳方法是什么?
我有主细节布局。主流程使用列表片段实现,细节片段只是单选按钮组。布局如下所示:
对于列表片段中的每个选项,都有一个带有单选按钮组的相应详细信息片段。我想要的是在单击按钮时收集所有选中(选定)的单选按钮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));
}
为了解决这个问题,我使用 ViewPager 进行详细视图。ViewPager 包含一个单选按钮组。在单选按钮组中的每次选择单选按钮时,我都会将选择记录到静态数组中。
第一个如何使用复选框来使用多选而不是单选按钮
2nd 查看包含所有 Radion 按钮的视图,并像这样迭代并找到选中的 Radio 按钮并将其添加到列表中
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);
}