前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >RadioGroup中RadioButton默认选中问题

RadioGroup中RadioButton默认选中问题

作者头像
再见孙悟空_
发布于 2023-02-10 11:44:41
发布于 2023-02-10 11:44:41
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

当一个RadioGroup(其实只要在同一个父布局)中有若干个RadioButton时,RadioButton之间存在着互斥关系,

也就是说只能选中一个RadioButton。但是如果我们需要默认选中某个RadioButton该如何处理呢? 

很简单,我们一般情况下会觉得很简单,假如我们需要设置第一个位置的radiobutton默认选中,直接会写到

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	for (int i = 0; i < 3; i++) {   
 	RadioButton radioButton = new RadioButton(this);
		if(i == 0){
			radioButton.setChecked(true); 
		}     
	}

然后我们运行发现,没有问题,默认选中了。就这么简单..但是你点一下其他的就会发现,wtf...点击其他的,这个默认选中的不会被取消掉啊....

解决办法:

就是new radiobutton 的时候  给radiobutton设置一个id,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for (int i = 0; i < 8; i++) {
    RadioButton radioButton = new RadioButton(this);
    radioButton.setText(i + "");
    radioButton.setId(i);
    radioGroup.addView(radioButton, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
}
//默认选中第一个按钮
radioGroup.check(0);

然后运行,发现完美解决。

倘若业务需要修改,查看 ,删除的各种业务逻辑的情况的时候  参考我下面的代码设置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for (int j = 0; j < dicBeans.size(); j++) {
					RadioButton radioButton = new RadioButton(context);
					LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
					radioButton.setText(dicBeans.get(j).getDicName());
					radioButton.setTag(formDetail.getTableDetailID());
					radioButton.setId(j);
					rgTypeEight.addView(radioButton, params);
					if (mIntentFrom == FLAG_SHOW ) {//查看
						radioButton.setEnabled(false);
						if(dicBeans.get(j).getDicName().equals(formDetail.getuValue())){
							rgTypeEight.check(j);
						}
					} else if(mIntentFrom == FLAG_UPDATE ){//修改
						radioButton.setEnabled(true);
						if(dicBeans.get(j).getDicName().equals(formDetail.getuValue())){
							rgTypeEight.check(j);
						}
					} else {//添加
						rgTypeEight.check(0);
						radioButton.setEnabled(true);
					}
				}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ViewPager实现启动引导页面(个人认为很详细)
效果如图: 启动页面是一张图片+延时效果,这里就不给出布局文件了。 WelcomeActivity分析:在启动页面检测是否是第一次运行程序,如果是,则先跳转到引导界面的Activity——AndyVi
用户1737026
2018/06/01
8930
layoutparser_你知道什么什么吗
LayoutParams,顾名思义,就是布局参数。而且大多数人对此都是司空见惯,我们 XML 文件里面的每一个 View 都会接触到 layout_xxx 这样的属性,这实际上就是对布局参数的描述。大概大家也就清楚了,layout_ 这样开头的东西都不属于 View,而是控制具体显示在哪里。
全栈程序员站长
2022/09/29
4570
Android控件与布局——基础控件RadioButton
今天,我们的主题是基础控件RadioButton。在开始之前,我们还是以官方文档为开端来开始我们的讲解,下面是Android文档中对RadioButton的简介:
233333
2020/12/03
2.4K0
Android控件与布局——基础控件RadioButton
ViewGroup.LayoutParams 和 MeasureSpec
LayoutParams 是ViewGroup的内部静态类 ,ViewGroup的子类(如RelativeLayout,LinearLayout,FrameLayout)都有其对应的 ViewGroup.LayoutParams的子类,如RelativeLayoutParams
全栈程序员站长
2022/09/13
5260
ViewGroup.LayoutParams 和 MeasureSpec
良好的知识储备_listview控件的用法
在上一篇文章里,我总结了一下自定义控件需要了解的基础知识:View的绘制流程——《自定义控件知识储备-View的绘制流程》。其中,在View的测量流程里,View的测量宽高是由父控件的MeasureSpec和View自身的LayoutParams共同决定的。MeasureSpec是什么,上一篇文章里已经说得很清楚了(啥,没看过?快去路克路克,(๑•̀ㅂ•́)و✧)。而LayoutParams呢?是时候在这里做个了断了。
全栈程序员站长
2022/11/08
2880
良好的知识储备_listview控件的用法
自定义gradview
虽然Android已自带了GridView,但是,却不够灵活,同时也不能自由添加控件,因此,本人通过需要进一步封装,来实现Android自定义GridView控件,达到自己需要的效果。 我们看一下
xiangzhihong
2018/01/30
8020
自定义gradview
Android 实现radiobutton单选换行效果
因为我这个分类是写死的,不是动态获取的,所以我没有用RadioGroup然后动态添加radioButton,因为Radiogroup设置换行以及每行的个数非常麻烦,也没有用类似gridView实现。这个就是写死的RadioButton。
再见孙悟空_
2023/02/10
9700
Android 实现radiobutton单选换行效果
Android开发CompoundButton抽象类控件类的使用UI之Radio、Check、Toggle[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。本篇文章就讲解了一下CompoundButton抽象类下的三个实现控件类的使用,在Android4.0之后,又新加入了一个控Switch,对它的 使用与之上介绍的三个控件类似,这里就不再详细讲解了。
全栈程序员站长
2022/08/15
1.2K0
Android开发CompoundButton抽象类控件类的使用UI之Radio、Check、Toggle[通俗易懂]
android动态拼接生成界面 ,大量界面
不知道各位小伙伴在开发应用客户端的时候有没有碰到过这样的需求,就是需要在app端维护大量的表数据。
再见孙悟空_
2023/02/10
2.2K0
android动态拼接生成界面 ,大量界面
介绍几个好用的android自定义控件
首先看效果图, 看下这两个界面,第一个中用到了一个自定义的FlowRadioGroup,支持复合子控件,自定义布局; 第二个界面中看到了输入的数字 自动4位分割了吧;也用到了自定义的Divisio
xiangzhihong
2018/01/30
1.3K0
介绍几个好用的android自定义控件
Android 多级弹窗实现
昨天去一个公司面试,要求实现一个弹窗并实现多选功能,其效果和京东的多级筛选类似。效果如下:
xiangzhihong
2022/11/30
1.4K0
【ViewPager的学习】二、添加图片描述及指示点动态改变
第一节已经简单实现了ViewPager,但是实际应用中常常需要在图片资源底部添加一些图片描述信息,还有一些指示点。
张拭心 shixinzhang
2022/11/30
6410
自定义View常用例子二(点击展开隐藏控件,九宫格图片控件)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/51772308
程序员徐公
2018/09/18
1.1K0
自定义View常用例子二(点击展开隐藏控件,九宫格图片控件)
android顶部导航条
  今天给大家介绍在Android中实现顶部导航菜单左右滑动效果的二种解决方案。   第一种解决方案:    在以前的一篇博文中我使用android-support-v4.jar实现了左右滑动指引效果,有兴趣的朋友可以查看:http://www.cnblogs.com/hanyonglu/archive/2012/04/07/2435589.html   那么今天第一个示例我仍然使android-support-v4.jar来实现菜单左右滑动效果,关于这个包的信息,不再详述,大家可以查看官方文档。
xiangzhihong
2018/01/29
3.2K0
相关推荐
ViewPager实现启动引导页面(个人认为很详细)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文