android中的radiobutton要点击2下才能选中
背景选中器设置了,press的时候会变背景,check的时候也会变背景,我看到radiobutton确实是点击了,但是没有check,我的radiobutton是跟rad...
背景选中器设置了,press的时候会变背景,check的时候也会变背景,我看到radiobutton确实是点击了,但是没有check,我的radiobutton是跟radiogroup一起用的,求高人解释为什么,解决办法
展开
10个回答
展开全部
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;
}
switch (radiogroup.getCheckedRadioButtonId()){
case R.id.radio1:
if (radioButton1.isChecked())
radioGroup2.clearCheck();
break;
case R.id.radio2:
if (radioButton2.isChecked())
radioGroup1.clearCheck();
break;
}
更多追问追答
追问
试过了,没有用。。
追答
我也在做那个,没有出现你说的问题,你可以把代码贴出来
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
切换到哪一个的时候设置((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;
switch (radiogroup.getCheckedRadioButtonId()){
case R.id.radio1:
if (radioButton1.isChecked())
radioGroup2.clearCheck();
break;
case R.id.radio2:
if (radioButton2.isChecked())
radioGroup1.clearCheck();
break;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
切换到哪一个的时候设置((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;
}
switch (radiogroup.getCheckedRadioButtonId()){
case R.id.radio1:
if (radioButton1.isChecked())
radioGroup2.clearCheck();
break;
case R.id.radio2:
if (radioButton2.isChecked())
radioGroup1.clearCheck();
break;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Android是基于Linux内核开发的操作系统。主要面向手机及手持移动设备。
单击即指点中或触碰某程序或软件,单击后将会触发该程序运行。
而长按软件可以实现选中,单出可以选择的菜单。
对文件或者程序进行操作,例如:移动、删除、拖拽等····
单击即指点中或触碰某程序或软件,单击后将会触发该程序运行。
而长按软件可以实现选中,单出可以选择的菜单。
对文件或者程序进行操作,例如:移动、删除、拖拽等····
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
点击1下就可以,点击2下可能是你没点好。
Windows 窗体 RadioButton 控件为用户提供由两个或多个互斥选项组成的选项集。android中的RadioButton 也是一个意识,只不过需要使用一个RadioGroup包含起来,代表一组。
Windows 窗体 RadioButton 控件为用户提供由两个或多个互斥选项组成的选项集。android中的RadioButton 也是一个意识,只不过需要使用一个RadioGroup包含起来,代表一组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看监听器的设置是否有问题,单个RadioButton在选中后,通过点击无法变为未选中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询