前言:

RadioButton用来单选并且用Toast来进行提示所选内容

RadioButton标签单独写的时候不能出现互斥现象,代码如下

 <RadioButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="男"
android:id="@+id/nan"/>
<RadioButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="女"
android:id="@+id/nv"/>

效果:

此时在屏幕中并不会互斥的选择,这是和我们意愿不符合,这是应该把这两个标签加在<RadioGroup><RadioGroup/>中,来实现可以互斥选择的效果

代码如下

  <RadioGroup
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<RadioButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="男"
android:id="@+id/nan"/>
<RadioButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="女"
android:id="@+id/nv"/>
</RadioGroup>

这样就可以实现互斥选择了

接下来实现当选择男是提示你选择男,

在RadioAcivity中的代码为

 public class RadioActivity extends Activity {
private RadioButton nan, nv; @Override
protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.radio);
nan = (RadioButton) findViewById(R.id.nan);
nv = (RadioButton) findViewById(R.id.nv);
nan.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stu
if (isChecked) {
Toast.makeText(RadioActivity.this,
"您选择的是:" + nan.getText(), 1).show();
} }
});
nv.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stu
if (isChecked) {
Toast.makeText(RadioActivity.this, "您选择的是:" + nv.getText(),
1).show();
} }
});
} }

我们知道RadioButton和CheckBox都为CompoundButton的子类,按钮有按钮的监听器,RadioButton也有自己的监听器,在初始化控件后,开始设置监听器(setCheckedChangeLintener),如12行和25行,我们使用匿名类来实现监听事件,因为onCheckedChangeListener是在CompoundButton下定义的,所以实例化onCheckedChangeListener对象,要加外部类名【此知识点是Java内部类知识点】,然后重写onCheckedChanged方法,这方法有两个参数一个是 Compound buttonView 一个是boolean isChecked当我们点过RadioButton时,isChecked为true

接下来就是用Toast来显示,注意第一个参数不是this 而是RadioActivity.this

RadioButton之互斥选择和Toast显示的更多相关文章

  1. 延长Toast显示时间

    ---恢复内容开始--- 由于Toast的显示时间只有两种: Toast.LENGTH_SHORT: 2秒 Toast.LENGTH_LONG: 3.5秒 而且是写死的,没给开发者自定义时间的权利,所 ...

  2. android 自定义Toast显示风格

    1.创建一个自己想要显示Toast风格的XML如下代码(toast_xml.xml): <?xml version="1.0" encoding="utf-8&qu ...

  3. 设置Toast显示位置

    设置Toast显示位置 两个方法可以设置显示位置: 方法一:setGravity(int gravity, int xOffset, int yOffset)三个参数分别表示(起点位置,水平向右位移, ...

  4. Android:剖析源码,随心所欲控制Toast显示

    前言 Toast相信大家都不会陌生吧,如果对于Toast不甚了解,可以参考我的上一篇博客<Android:谈一谈安卓应用中的Toast情节>,里面有关于Toast基础比较详细的介绍.但是如 ...

  5. IE 选择文字后 显示小箭头 加速按钮

    IE - 工具 - Internet选项 - 高级 - 不选择<在选择是显示加速按钮>选项就可以了.

  6. [Unity3D]Unity3D游戏开发之在3D场景中选择物体并显示轮廓效果

    大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei. 在<仙剑奇侠传>.<古剑奇谭>等游戏中,常常须要玩家在一个3D场景中 ...

  7. 开发技巧01——改变Toast显示位置

    1.获得Toast对象——Toast toast = Toast.makeText(this, "Top Left!", Toast.LENGTH_SHORT); 2.Toast对 ...

  8. ListView中RadioButton实现单项选择

    1:FragmentHack5.java public class FragmentHack5 extends Fragment { View view; ListView lvCountries; ...

  9. 小米手机Toast显示带应用名称问题解决方法

    近期为了适配刘海屏,向公司申购了一步小米8的手机,然后测试人员那边测出来一堆适配的问题,其中有一个每一个Toast会显示app的名称+显示的内容,然后网上查找了一下解决方法记录一下,顺便封装了Toas ...

随机推荐

  1. Linux运维工程师简历项目经验

    如何做好一个合格的运工程师,运维工程师前景怎么样呢?就这些问题,与大家交流一下.首先对于运维工程师的要求是十分严苛的了,运维工程师不但要针对不同的问题做出响应,而且需要不断的补充自己的知识面,并不继提 ...

  2. 【PAT甲级】1028 List Sorting (25 分)

    题意: 输入一个正整数N(<=100000)和C(C属于{1,2,3}),接下来输入N行,每行包括学生的六位学号(习惯用string输入,因为可能有前导零),名字和成绩(正整数).输出排序后的信 ...

  3. 「NOIP2017」逛公园

    传送门 Luogu 解题思路 考虑 \(\text{DP}\). 设 \(f[u][k]\) 表示从 \(u\) 到 \(n\) 走过不超过 \(Mindis(u, n) + k\) 距离的方案数. ...

  4. 「CF852D」Exploration Plan

    题目描述 给定一张 \(V\) 个点,\(M\) 条边的边带权无向图,有 \(N\) 个人分布在图上的点上,第 \(i\) 个人在 \(x_i\) 这个点上,定义从一个点走到另一个点的时间为所走的路径 ...

  5. MySQL 之存储引擎与数据类型与数据约束

    一.存储引擎场景 1.InnoDB 用于事务处理应用程序,支持外键和行级锁.如果应用对事物的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包括很多更新和删除操作,那 ...

  6. Python字符乱码

    content = b'{"log_id": 5507183146687669657, "words_result_num": 2, "words_r ...

  7. 至少你要了解RSS

    本文概要: 1.RSS是什么,有什么作用? 2.是不是所有的网站都有RSS功能? 3.没有RSS功能的网站如何订阅? 4.RSS是否已经过时? 5.推荐一些热门的RSS订阅地址 1.RSS是什么,有什 ...

  8. Vue Element-Ui 改变el-Input背景样式

    Element-ui是一个非常好的UI设计模块,它提供给我们很多好看的按钮样式,非常适用于快速搭建UI,下面说说如果使用了element-ui之后,要更改它默认的el-Input样式应该怎么操作. 使 ...

  9. 二十 Spring的事务管理及其API&事务的传播行为,编程式&声明式(xml式&注解式,底层AOP),转账案例

    Spring提供两种事务方式:编程式和声明式(重点) 前者需要手写代码,后者通过配置实现. 事务的回顾: 事务:逻辑上的一组操作,组成这组事务的各个单元,要么全部成功,要么全部失败 事务的特性:ACI ...

  10. 小程序view标签靠右方法

    第一种:不浮动靠右 text-align:right; 第二种:浮动靠右 float:right;