首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RadioGroup中RadioButton默认选中问题

RadioGroup中RadioButton默认选中问题

作者头像
再见孙悟空_
发布于 2023-02-10 11:44:41
发布于 2023-02-10 11:44:41
1.5K00
代码可运行
举报
运行总次数: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
介绍几个好用的android自定义控件
首先看效果图, 看下这两个界面,第一个中用到了一个自定义的FlowRadioGroup,支持复合子控件,自定义布局; 第二个界面中看到了输入的数字 自动4位分割了吧;也用到了自定义的Divisio
xiangzhihong
2018/01/30
1.4K0
介绍几个好用的android自定义控件
android动态拼接生成界面 ,大量界面
不知道各位小伙伴在开发应用客户端的时候有没有碰到过这样的需求,就是需要在app端维护大量的表数据。
再见孙悟空_
2023/02/10
2.4K0
android动态拼接生成界面 ,大量界面
Android开发CompoundButton抽象类控件类的使用UI之Radio、Check、Toggle[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。本篇文章就讲解了一下CompoundButton抽象类下的三个实现控件类的使用,在Android4.0之后,又新加入了一个控Switch,对它的 使用与之上介绍的三个控件类似,这里就不再详细讲解了。
全栈程序员站长
2022/08/15
1.4K0
Android开发CompoundButton抽象类控件类的使用UI之Radio、Check、Toggle[通俗易懂]
Android 多级弹窗实现
昨天去一个公司面试,要求实现一个弹窗并实现多选功能,其效果和京东的多级筛选类似。效果如下:
xiangzhihong
2022/11/30
1.4K0
layoutparser_你知道什么什么吗
LayoutParams,顾名思义,就是布局参数。而且大多数人对此都是司空见惯,我们 XML 文件里面的每一个 View 都会接触到 layout_xxx 这样的属性,这实际上就是对布局参数的描述。大概大家也就清楚了,layout_ 这样开头的东西都不属于 View,而是控制具体显示在哪里。
全栈程序员站长
2022/09/29
5070
自定义gradview
虽然Android已自带了GridView,但是,却不够灵活,同时也不能自由添加控件,因此,本人通过需要进一步封装,来实现Android自定义GridView控件,达到自己需要的效果。 我们看一下
xiangzhihong
2018/01/30
8340
自定义gradview
ViewPager实现启动引导页面(个人认为很详细)
效果如图: 启动页面是一张图片+延时效果,这里就不给出布局文件了。 WelcomeActivity分析:在启动页面检测是否是第一次运行程序,如果是,则先跳转到引导界面的Activity——AndyVi
用户1737026
2018/06/01
9570
高仿今日头条(1)
本片博客主要实现今日头条的主题框架。后面我会慢慢完善,欢迎大家持续关注 git下载地址:https://github.com/xiangzhihong/topNews/tree/master 先上两张
xiangzhihong
2018/02/01
1.3K0
高仿今日头条(1)
【ViewPager的学习】二、添加图片描述及指示点动态改变
第一节已经简单实现了ViewPager,但是实际应用中常常需要在图片资源底部添加一些图片描述信息,还有一些指示点。
张拭心 shixinzhang
2022/11/30
6860
为你的APP自定义一个统一的标题栏
通常的标题是分为几种? 输入图片说明 左边图标,左边文字, 中间文字 (修饰) , 右边文字, 右边图标 ** ContextTitle .java *
Xiaolei123
2018/06/28
5640
速读原著-Android应用开发入门教程(作为简单容器使用的视图组)
单选按钮组(RadioButton)是一组逻辑上相关的按钮,它们之中只能有一个被选中,单选按钮通常单选按钮被设计成圆形的外观。因此需要一个类将各个单选按钮包含在一起。
cwl_java
2020/02/13
9080
良好的知识储备_listview控件的用法
在上一篇文章里,我总结了一下自定义控件需要了解的基础知识:View的绘制流程——《自定义控件知识储备-View的绘制流程》。其中,在View的测量流程里,View的测量宽高是由父控件的MeasureSpec和View自身的LayoutParams共同决定的。MeasureSpec是什么,上一篇文章里已经说得很清楚了(啥,没看过?快去路克路克,(๑•̀ㅂ•́)و✧)。而LayoutParams呢?是时候在这里做个了断了。
全栈程序员站长
2022/11/08
3370
良好的知识储备_listview控件的用法
自定义View常用例子二(点击展开隐藏控件,九宫格图片控件)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/51772308
程序员徐公
2018/09/18
1.2K0
自定义View常用例子二(点击展开隐藏控件,九宫格图片控件)
自用知识_实用小知识
private Handler handler = new Handler(){
全栈程序员站长
2022/11/17
7160
Android地址选择器的实现
最近在做地址管理的功能,新建地址的时候,需要根据后台提供的省市区的数据,让用户进行地址的选择,最近项目比较赶,本来想网上找一个的,可是找了很久都没找到我想要的效果,所以就根据后台提供的数据,弄了一个。
SoullessCoder
2019/08/07
4.2K1
相关推荐
介绍几个好用的android自定义控件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档