android中的radiobutton要点击2下才能选中

背景选中器设置了,press的时候会变背景,check的时候也会变背景,我看到radiobutton确实是点击了,但是没有check,我的radiobutton是跟rad... 背景选中器设置了,press的时候会变背景,check的时候也会变背景,我看到radiobutton确实是点击了,但是没有check,我的radiobutton是跟radiogroup一起用的,求高人解释为什么,解决办法 展开
 我来答
小傻

2016-04-20 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31135
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

android 中的radiobutton点击2下才能选中的原因,因为一开始都有一个默认选中的item,类似于下面的代码:


for (int j = 0; j < newList.get(position).getList().size(); j++) {
RadioButton radioButton = new RadioButton(context);
radioButton.setTextSize(9);  
radioButton.setText(newList.get(position).getList().get(j)
.get("dishname").toString());
radioButton.setTag(newList.get(position).getList().get(j)
.get("dishid").toString());
radioGroup.addView(radioButton, j);

if (j==0) {
radioButton.setCheck(true); 
}  
}

就是中给radioButton设置为选中,这样如果存在两个radiogroup就会出现点击两次才能选中的状态原因是:不需要设置RadioButton的默认选中, 这样会使RadioButton一直处于选中状态. 

解决的方式:

应该给RadioGroup 设置选中的RadioButton   ,也就是说    

把  if (j==0) {
 radioButton.setCheck(true); 
}  

更改为

 if (j==0) {
radioGroup.check(radioButton.getId()); 
}  


遇到很多棘手的问题,建议查看api和接口方法的使用说明,很多官方的英文详细的列举了可能发生的问题。

匿名用户
2013-10-14
展开全部
切换到哪一个的时候设置((RadioButton) findViewById(R.id.radiobutton)).setChecked(true);你试试看,或者判断一下
switch (radiogroup.getCheckedRadioButtonId()){
case R.id.radio1:
if (radioButton1.isChecked())
radioGroup2.clearCheck();
break;
case R.id.radio2:
if (radioButton2.isChecked())
radioGroup1.clearCheck();
break;
}
更多追问追答
追问
试过了,没有用。。
追答
我也在做那个,没有出现你说的问题,你可以把代码贴出来
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyr19980216
2016-02-16 · TA获得超过948个赞
知道小有建树答主
回答量:604
采纳率:100%
帮助的人:86.1万
展开全部
切换到哪一个的时候设置((RadioButton) findViewById(R.id.radiobutton)).setChecked(true);你试试看,或者判断一下
switch (radiogroup.getCheckedRadioButtonId()){
case R.id.radio1:
if (radioButton1.isChecked())
radioGroup2.clearCheck();
break;
case R.id.radio2:
if (radioButton2.isChecked())
radioGroup1.clearCheck();
break;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丿Supper丶吕布
2016-03-19 · TA获得超过202个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:33.6万
展开全部
切换到哪一个的时候设置((RadioButton) findViewById(R.id.radiobutton)).setChecked(true);你试试看,或者判断一下
switch (radiogroup.getCheckedRadioButtonId()){
case R.id.radio1:
if (radioButton1.isChecked())
radioGroup2.clearCheck();
break;
case R.id.radio2:
if (radioButton2.isChecked())
radioGroup1.clearCheck();
break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lihongwei41
2016-03-11 · TA获得超过4万个赞
知道大有可为答主
回答量:2.5万
采纳率:0%
帮助的人:6044万
展开全部
Android是基于Linux内核开发的操作系统。主要面向手机及手持移动设备。

单击即指点中或触碰某程序或软件,单击后将会触发该程序运行。

而长按软件可以实现选中,单出可以选择的菜单。
对文件或者程序进行操作,例如:移动、删除、拖拽等····
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
砍出平成第一斧58
2016-01-06 · TA获得超过1567个赞
知道大有可为答主
回答量:2321
采纳率:86%
帮助的人:1215万
展开全部
点击1下就可以,点击2下可能是你没点好。

Windows 窗体 RadioButton 控件为用户提供由两个或多个互斥选项组成的选项集。android中的RadioButton 也是一个意识,只不过需要使用一个RadioGroup包含起来,代表一组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祥雲33
2016-03-30 · 超过52用户采纳过TA的回答
知道答主
回答量:158
采纳率:0%
帮助的人:77.7万
展开全部
看看监听器的设置是否有问题,单个RadioButton在选中后,通过点击无法变为未选中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式