Android实现单选按钮
作者:Aveolela、 发布时间:2021-11-20 18:32:53
标签:Android,单选按钮
本文实例为大家分享了Android实现单选按钮的具体代码,供大家参考,具体内容如下
单选按钮
在默认情况下,单选按钮显示为一个圆形图标,可以在图标旁放一些说明文字。通常情况下RadioButton组件需要与RadioGroup组件一起使用,组成一个单选按钮组。RadioGroup是可以容纳多个RadioButton的容器。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="选择性别:"
android:textSize="25sp"
android:gravity="center"
android:textColor="@color/black"/>
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center">
<RadioButton
android:id="@+id/radio_man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:textColor="@color/black"
android:textSize="25sp"
android:checked="true"/>
<RadioButton
android:id="@+id/radio_female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:textColor="@color/black"
android:layout_marginLeft="100dp"
android:textSize="25sp"/>
</RadioGroup>
</LinearLayout>
<Button
android:id="@+id/bt_submit"
android:layout_width="100dp"
android:layout_height="50dp"
android:text="提交"
android:textSize="20sp"
android:layout_marginTop="10dp"
android:layout_gravity="center"/>
布局效果显示:
RadioButton组件的android:checked属性用来指定选中的状态,android:checked="true"时,表示选中;android:checked="false"时,表示取消选中。
获得选中的值有三种方法:
第一种是为RadioButton设置一个事件 * setOnCheckChangeListener。
public class MainActivity extends AppCompatActivity {
RadioGroup radioGroup;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initView();
//点击事件
clickEvent();
}
private void initView() {
radioGroup = findViewById(R.id.radioGroup);
}
private void clickEvent() {
//给RadioGroup绑定监视器
radioGroup.setOnCheckedChangeListener(new MyRadioButtonListener());
}
//单选按钮监听
private class MyRadioButtonListener implements RadioGroup.OnCheckedChangeListener {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton r = (RadioButton) findViewById(checkedId);//获取被选中的Id
Log.i("单选按钮监听", "选择性别为:" + r.getText().toString());
}
}
}
单选按钮监听日志效果:
第二种通过单击其他按钮获取选中单选按钮的值。
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
RadioGroup radioGroup;
//提交
Button bt_submit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initView();
//点击事件
clickEvent();
}
private void initView() {
radioGroup = findViewById(R.id.radioGroup);
bt_submit = findViewById(R.id.bt_submit);
}
private void clickEvent() {
//提交
bt_submit.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_submit:
for (int i = 0; i < radioGroup.getChildCount(); i++) {
RadioButton r = (RadioButton) radioGroup.getChildAt(i);
if (r.isChecked()) {
Log.i("单击其他按钮时获取", "选择性别为:" + r.getText());
}
}
break;
}
}
}
判断单击其他按钮获取选中单选按钮的值的日志效果展示:
第三种判断被点击的id是哪一个单选按钮的id,通过id去获取值。
public class MainActivity extends AppCompatActivity {
RadioGroup radioGroup;
//男
RadioButton radio_man;
//女
RadioButton radio_female;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initView();
//点击事件
clickEvent();
}
private void initView() {
radioGroup = findViewById(R.id.radioGroup);
radio_man = findViewById(R.id.radio_man);
radio_female = findViewById(R.id.radio_female);
}
private void clickEvent() {
//给RadioGroup绑定监视器
radioGroup.setOnCheckedChangeListener(new MyRadioButtonListener());
}
//单选按钮监听
private class MyRadioButtonListener implements RadioGroup.OnCheckedChangeListener {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// 选中状态改变时被触发
switch (checkedId) {
case R.id.radio_female:
// 当用户选择女性时
Log.i("判断点击Id的单选按钮", "选择性别为:" + radio_female.getText().toString());
break;
case R.id.radio_man:
// 当用户选择男性时
Log.i("判断点击Id的单选按钮", "选择性别为:"+radio_man.getText().toString());
break;
}
}
}
}
判断点击的单选按钮日志效果展示:
来源:https://blog.csdn.net/weixin_58159075/article/details/124343635
0
投稿
猜你喜欢
- 想必大家都知道,国内的Android应用基本都是免费的
- 关于数据绑定Xamarin 单向、双向绑定Xaml绑定C#代码绑定在此之前,几段 伪代码 帮助像我一样菜的同学入门。。。假如说,有两个控件,
- 算法中递归的一个典型应用就是遍历目标文件夹,并把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算出目标文件夹的总大小。本文即以实例
- Java API不能远程访问HBase今天我在虚拟机里面安装了Hbase 1.2.4,说在windows上Java API调用访问下玩玩,结
- 循环结构分两大类,一类是当型,一类是直到型。当型:当布尔值表达式条件为True时,反复执行某语句,当布尔表达式的值为False时才停止循环,
- 简述每个项目从新建开始我们或多或少都会导入各种依赖库,如果项目中只有一个module的话,对于依赖库版本的管理很容易,但是多个module的
- 本文实例汇总了Java的System.getProperty()方法获取信息的用法。分享给大家供大家参考。具体如下:System.out.p
- 昨天,我同学用Eclipse安装Aptana插件,她弄了一天都没安装起,最后找了我。 然后我也按照她的那个方法安装,结果一样,安装不成功!网
- 前两天给同事做 code review,感觉自己对 Java 的 Generics 掌握得不够好,便拿出 《Effective Java》1
- 骑士周游问题在8x8的国际棋盘上,按照马走日的规则,验证是否能够走遍棋盘。解题思路1、创建棋盘 chessBoard,是一个二维数组。2、将
- 我们今天来聊下如何做实时通讯(先给知识点,实现原理,最后给出实现实时通信的具体代码--使用工具 android studio)现在先说下用到
- 在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完
- 大家好,我是程序员田同学!今天上午收到一个需求,针对当前的系统开发一个对外开放的接口。既然是对外开放,那么调用者一定没有我们系统的Token
- 本文基于jdk1.8进行分析。ReentrantLock是一个可重入锁,在ConcurrentHashMap中使用了ReentrantLoc
- 本文实例为大家分享了java实现超市管理系统的具体代码,供大家参考,具体内容如下实现功能使用选择结构,循环结构,数组的知识实现一个超市管理系
- 目录1.搭建环境2.项目搭建3.配置maven4.项目结构5.配置 MapperScan 注解6.创建实体7.创建接口8.测试8.1 upd
- 从现在开始,大家可以跟随着我的脚步来自定义一个属于自己的Spring框架。但是,在学习自定义Spring框架之前,我们得先来回顾一下Spri
- 一、链表的介绍什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结
- 这篇文章主要介绍了springboot多租户设计过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 序章首先引入依赖 implementation 'com.squareup.retrofit2:retro