永发信息网

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

答案:7  悬赏:60  手机版
解决时间 2021-01-29 19:08
  • 提问者网友:抽煙菂渘情少年
  • 2021-01-29 16:18
android中的radiobutton要点击2下才能选中
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-01-29 17:02
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和接口方法的使用说明,很多官方的英文详细的列举了可能发生的问题。
全部回答
  • 1楼网友:北城痞子
  • 2021-01-29 20:52
你说的这种情况不太可能发生,分析一下 估计是你是用代码控制选中状态的吧,检查下代码逻辑是否有问题
  • 2楼网友:狂恋
  • 2021-01-29 20:31
点击1下就可以,点击2下可能是你没点好。
Windows 窗体 RadioButton 控件为用户提供由两个或多个互斥选项组成的选项集。android中的RadioButton 也是一个意识,只不过需要使用一个RadioGroup包含起来,代表一组。
  • 3楼网友:野味小生
  • 2021-01-29 18:59
Android是基于Linux内核开发的操作系统。主要面向手机及手持移动设备。
单击即指点中或触碰某程序或软件,单击后将会触发该程序运行。
而长按软件可以实现选中,单出可以选择的菜单。
对文件或者程序进行操作,例如:移动、删除、拖拽等····
  • 4楼网友:長槍戰八方
  • 2021-01-29 18:30
切换到哪一个的时候设置((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;
}
  • 5楼网友:患得患失的劫
  • 2021-01-29 17:32
切换到哪一个的时候设置((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;
  • 6楼网友:过活
  • 2021-01-29 17:26
切换到哪一个的时候设置((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;
}追问试过了,没有用。。追答我也在做那个,没有出现你说的问题,你可以把代码贴出来追问
试过了,没有用。。
关键是点击radiobutton他没有check,只是press了,点击第2下才check,我就算每一个button都设置clickListener也是点击第2下才会触发Listener
 
追答
你是想两个按钮切换的时候执行不同的操作?那两个按钮是不需要加监听的,我写了个demo,你可以参考下
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯