单选按钮
在默认情况下,单选按钮显示为一个圆形图标,可以在图标旁放一些说明文字。通常情况下RadioButton组件需要与RadioGroup组件一起使用,组成一个单选按钮组。RadioGroup是可以容纳多个RadioButton的容器。

<LinearLayoutandroid:layout_width="match_parent"android:layout_height="60dp"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="match_parent"android:text="选择性别:"android:textSize="25sp"android:gravity="center"android:textColor="@color/black"/><RadioGroupandroid:id="@+id/radioGroup"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"android:gravity="center"><RadioButtonandroid: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"/><RadioButtonandroid: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><Buttonandroid: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;@Overrideprotected 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 {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {RadioButton r = (RadioButton) findViewById(checkedId);//获取被选中的IdLog.i("单选按钮监听", "选择性别为:" + r.getText().toString());}}
}

单选按钮监听日志效果:

第二种通过单击其他按钮获取选中单选按钮的值。

public class MainActivity extends AppCompatActivity implements View.OnClickListener {RadioGroup radioGroup;//提交Button bt_submit;@Overrideprotected 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);}@Overridepublic 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;@Overrideprotected 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 {@Overridepublic 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;}}}
}

判断点击的单选按钮日志效果展示:

Android单选按钮相关推荐

  1. android单选按钮_Android单选按钮示例

    android单选按钮 Radio Button in android apps are very common. In this tutorial we'll implement android r ...

  2. android单选按钮空值,Android的 - 空指针异常的对话与单选按钮

    谁能帮我这个,告诉我,我做了错误...当我尝试用单选按钮的Eclipse做任何事情我抛出该异常Android的 - 空指针异常的对话与单选按钮 threadid=1: thread exiting w ...

  3. android 单选按钮、复选按钮的使用

    一.单选按钮 相互排斥的事件使用该控件,一组相互互斥的事件放到一个组内,及RadioGroup. <RadioGroupandroid:id="@+id/radiogroup_text ...

  4. Android 单选按钮 下拉列表框

    单选按钮: 1.特点: 单选按钮一组是互斥的, 使用RadioGroup实现互斥 2.RadioGroup继承LinnerLayout: 所以可以使用linearLayout的相关属性, 例如: or ...

  5. android 单选按钮

    单选按钮RadioButton同一组包含在同一个RadioGroup中,当点击RadioButton时会触发onClick事件.另外,RadioGroup会触发CheckChange事件,当Radio ...

  6. mono android单选按钮,CLEngine

    CLEngine 项目介绍 基于MonoGame开发的游戏编辑器 软件架构 MVVMLIGHT实现视图与逻辑分离 WPF高性能界面 当前功能 自动定位和锚定系统,无论屏幕大小如何,都可以轻松放置元素. ...

  7. Android开发单选按钮功能,Android单选按钮RadioButton的使用详解

    RadioButton是最普通的UI组件之一,继承了Button类,可以直接使用Button支持的各种属性和方法. RadioButton与普通按钮不同的是,它多了一个可以选中的功能,可额外指定一个a ...

  8. android 单选按钮横置,input radio如何实现横向布局

    我这边要实现通过radio横向布局选择男女,目前checked时 内部圆心是不显示的,怎么去解决呢? input[type=radio]{ height: 26px; left: 35%; posit ...

  9. android 单选按钮对号,用“对号”和“叉号”代替单选框和复选框选中或未选中代码详解...

    用"对号"和"叉号"代替单选框和复选框选中或未选中代码,使用javascript+css可以实现这样的操作! 效果如图: /p> Transitional ...

最新文章

  1. 记录某项目中的踩坑与解决(持续更新)
  2. JavaScript称霸
  3. 【使用递归玩通关汉诺塔游戏】算法01-递归(斐波那契数列、汉罗塔问题)-java实现
  4. PHP学习01:引入表格解析并发送给网页
  5. 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥...
  6. 当session失效后,无论点击那个页面,都找到顶端页面,跳到登录页面。
  7. ALGO-162——Airport Configuration
  8. Spring的@Scheduled注解实现定时任务
  9. 移动页面自适应手机屏幕宽度HTML5开发
  10. PHP学习笔记01: 安装PHP开发套件xampp
  11. python自动化测试之mysql5.0版本数据库查询数据时出现乱码问题分析
  12. java集成agent作用_javaagent 基于 javaagent 开发的 APM 工具,收集方法的执行次数和执行时间,定时输出成 json 格式 @codeKK Android开源站...
  13. SD卡fat32文件格式说明
  14. 微软打击盗版的“三部曲”
  15. 微信手写板 android,微信小程序:手写板功能实现(canvas)
  16. Java前方交会后方交会编程_单像空间后方交会和双像解析空间后方-前方交会的算法程序实现.doc...
  17. 联想扬天P600台式电脑安装Win10系统方法
  18. iap支付java校验_iOS应用内支付(IAP)服务端端校验详解
  19. WAF、CDN、DDOS高防产品联动
  20. 【技术科普】VR、AR、MR的区别

热门文章

  1. scrollTop是什么及用法说明
  2. js获取上个月的年月和下个月的年月(yyyyMM)
  3. match pattern
  4. openGauss 账本数据库函数
  5. 基于ffmpeg的音频转换器pcm转amr(8000HZ)
  6. 【GTest】CMAKE+GTEST
  7. Python可以做哪些兼职?
  8. Weblogic漏洞利用总结
  9. Sqlite 数据库损坏的恢复
  10. mysql子查询重命名