我有主 - 细节布局。主流程使用列表片段实现,细节片段只是单选按钮组。布局看起来像这样:
对于列表片段中的每个选项,都有一个带有单选按钮组的相应详细信息片段。我想要的是在点击submit
按钮时收集所有选中的(选中的)单选按钮。理想情况下,我想要像一系列已检查的单选按钮。
解决这个问题的最佳方法是什么?
答案 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包含一个单选按钮组。在单选按钮组中每次选择单选按钮时,我将选择记录到静态数组中。