android开发中 关于radiogroup
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android开发中 关于radiogroup相关的知识,希望对你有一定的参考价值。
radiogroup中的radiobutton怎样让他们横排排列?
参考技术A 在radiogroup的xml文件里面设置 android:orientation="horizontal"这个属性就可以了。 参考技术B radiogroup 的XML文件中可以设置可以在 RadioGroup android 中选择多个 RadioButton
【中文标题】可以在 RadioGroup android 中选择多个 RadioButton【英文标题】:Multiple RadioButton can be selected in a RadioGroup android 【发布时间】:2013-03-12 15:53:31 【问题描述】:我在我的活动布局中以编程方式添加(必须作为单选组和单选按钮的数量是变量)单选组:
rg = new RadioGroup(this);
rg.setOrientation(RadioGroup.HORIZONTAL);
rg.setId(list_questions.get(i).getQuizz_questions_id()); // get from the DB
lrg.add(rg);
for (int j = 0; j < list_answers.size(); j++)
rb = new RadioButton(this);
rb.setId(list_answers.get(j).getQuizz_answers_id());
rb.setText(String.valueOf(list_answers.get(j).getQuizz_answers_id()) + "-" + String.valueOf(list_answers.size()) + "-" + String.valueOf(list_questions.get(i).getQuizz_questions_id())); // I added that to see if there was a problem on the indexes, but there's not
rg.addView(rb, new LayoutParams(100,LayoutParams.WRAP_CONTENT));
tr.addView(rg, new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
完整的代码可以在这里找到:http://pastebin.com/d9zZjmuu
我的问题是我可以在三个单选组中选择两个单选按钮。
我知道您很难提供帮助,因为您没有所有资源等您对问题出在哪里有任何想法,我们将不胜感激!
感谢和抱歉我的英语不好。
【问题讨论】:
"设备上没有截图应用程序,所以..." 当您的图像正常工作时,Eclipse 中的设备窗口可以截取屏幕截图。下次。 :) 我没有模拟应用程序,而是直接在无法连接到互联网的平板电脑上观看它。但还是谢谢。 ;) @Arlem 将您的完整代码发布在您填充所有无线电组的位置,根据您提供的信息很难识别 您也可以在设备上截屏,只要启用调试即可。 (无需 root 权限或互联网。) @Sam :不,我不能,这正是问题所在,为什么我找不到问题的根源......我很高兴这个问题是由其他人。 【参考方案1】:我重新创建了您的问题并通过给每个 RadioButton 一个唯一的 id 来解决它,就像这样简单:
rb.setId(list_answers.get(j).getQuizz_answers_id() + i * list_questions.size());
我不确定为什么默认的 OnCheckedChangeListeners 现在会变得混乱,但这里有一个简单的解决方法。
【讨论】:
谢谢,但这是另一个问题,每个 RadioButton ID 对应于数据库中的“响应”字段(在屏幕截图上“Réalisé partiellement”,“Jamais réalisé”......),我需要得到它们用用户的答案填充数据库: for (RadioGroup bla : lrg) useranswers.insert(new user_answers(null, ApplicationHelper.getInstance().idUser, ApplicationHelper.getInstance().idSession, bla.getId(), bla.getCheckedRadioButtonId())); 所以我不能像你那样随机设置它们。 实际上这些 id 不是随机的,您可以将它们转换为list_answers.get(j).getQuizz_answers_id()
(即 5、6、7)以取模。试试bla.getCheckedRadioButtonId() % list_questions.size()
这不是随机的。你只需要做一个模来获得价值
如果我想使用 "% list_questions.size()" 恢复到相同的值,我不应该把 "+ i" 去掉吗?或者我错过了什么......
@Arlem 不,modulo 不是除法。例如,(j + i * size) % size
将始终等于 j。模是除法后的余数。以上是关于android开发中 关于radiogroup的主要内容,如果未能解决你的问题,请参考以下文章
关于基于Linphone的视频通话Android端开发过程中遇到的问题