前言:

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. springcloud gateway nullpointerexception (NettyRoutingFilter)

    最近在做一个下载功能时,发现直接调用服务是可以下载的,但是通过gateway路由下载会报NPE异常,具体如下 java.lang.NullPointerException: null at java. ...

  2. in comment after two dashes (--) next character must be > not - (position: START_TAG seen ...

    Error executing Maven. in comment after two dashes (--) next character must be > not - (position: ...

  3. luogu P4013 数字梯形问题

    三倍经验,三个条件,分别对应了常见的3种模型,第一种是限制每个点只能一次且无交点,我们可以把这个点拆成一个出点一个入点,capacity为1,这样就限制了只选择一次,第二种是可以有交点,但不能有交边, ...

  4. redis 之 redis主从复制

    Redis集群中的数据库复制是通过主从同步来实现的 主节点(Master)把数据分发给从节点(Slave) 主从同步的好处在于高可用,Redis节点有冗余设计 主从复制的原理:1. 从服务器向主服务器 ...

  5. 复习jquery菜鸟教程

    https://www.runoob.com/jquery/jquery-plugin-treeview.html

  6. NetCore Web项目目录结构说明

    目录结构说明 目录/文件 说明 依赖项 ASP.NET Core 开发.构建和运行过程中的依赖想,一般都是 NuGet 包和一些 SDK Properties 配置,存放了一些 .json 文件用于配 ...

  7. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:条纹表格

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:设置元素为 display:block 并居中显示

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. sqlplus 登陆使用

    select * from dept; input order by dname;  追加文本命令  del  n  删除语句 celar buffer ; 清除缓冲区的命令 conn sys as ...

  10. 今日份学习: Spring - 事实标准

    笔记 Spring IOC Inverse of Control:控制反转 DI:Dependancy Injections:依赖注入 没有IOC的时候,各种依赖需要逐个按顺序创建. 有了IOC的之后 ...