单选按钮RadioGroup、复选框CheckBox都有OnCheckedChangeListener事件,我们一起了解一下。

 package com.genwoxue.oncheckedchanged;

 import android.os.Bundle;
import android.app.Activity;
import android.widget.RadioGroup;
import android.widget.RadioButton;
import android.widget.RadioGroup.OnCheckedChangeListener; //引入OnCheckedChangeListener事件相关包
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast; public class MainActivity extends Activity {
private RadioGroup GenderGroup=null;
private RadioButton rbMale=null;
private RadioButton rbFemale=null;
private CheckBox cbFootBall=null;
private CheckBox cbBasketBall=null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); GenderGroup=(RadioGroup)super.findViewById(R.id.gender);
rbMale=(RadioButton)super.findViewById(R.id.male);
rbFemale=(RadioButton)super.findViewById(R.id.female);
cbFootBall=(CheckBox)super.findViewById(R.id.football);
cbBasketBall=(CheckBox)super.findViewById(R.id.basketball);
//在GenderGroup注册OnCheckedChangeListener事件
GenderGroup.setOnCheckedChangeListener(new GenderOnCheckedChangeListener());
//在cbFootBall注册OnCheckedChangeListener事件
cbFootBall.setOnCheckedChangeListener(new BootBallOnCheckedChangeListener());
//在cbBasketBall注册OnCheckedChangeListener事件 cbBasketBall.setOnCheckedChangeListener(new BasketBallOnCheckedChangeListener());
} private class GenderOnCheckedChangeListener implements OnCheckedChangeListener{
@Override
public void onCheckedChanged(RadioGroup group,int checkedId){
String sGender="";
if(rbFemale.getId()==checkedId){
sGender=rbFemale.getText().toString();
}
if(rbMale.getId()==checkedId){
sGender=rbMale.getText().toString();
}
Toast.makeText(getApplicationContext(), "您选择的性别是:"+sGender, Toast.LENGTH_LONG).show();
} } private class BootBallOnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener{
@Override
public void onCheckedChanged(CompoundButton button, boolean isChecked){
String sFav="";
if(isChecked){
sFav=cbFootBall.getText().toString();
sFav=sFav+"选中!";
}
else
sFav=sFav+"未迁中";
Toast.makeText(getApplicationContext(), "您选择的爱好是:"+sFav, Toast.LENGTH_LONG).show();
}
} private class BasketBallOnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener{
@Override
public void onCheckedChanged(CompoundButton button,boolean isChecked){
String sFav="";
if(cbBasketBall.isChecked()){
sFav=cbBasketBall.getText().toString();
sFav=sFav+"选中!";
}
else
sFav=sFav+"未迁中";
Toast.makeText(getApplicationContext(), "您选择的爱好是:"+sFav, Toast.LENGTH_LONG).show();
}
} }

管单选按钮和复选框都有OnCheckedChange事件,但注意二者区别。

  效果如下:

  

android 中单选和复选框监听操作的更多相关文章

  1. Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用

                                             Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...

  2. Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用

                                             Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...

  3. Android实战之ListView复选框

    项目中有用到复选框的例子,啊啊......在网上查找有关资料,大多都是过于繁琐,所以自己决定写个这个方面的demo... 先给个效果图: 在ListView中添加复选框主要注意以下几个问题: 1.Li ...

  4. php一些单选、复选框的默认选择方法(示例)

    转载 http://www.php.cn/php-weizijiaocheng-360029.html 一. radio和checkbox及php select默认选择的实现代码 1.radio单选框 ...

  5. Python3+Selenium3+webdriver学习笔记8(单选、复选框、弹窗处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记8(单选.复选框.弹窗处理)''' from selenium ...

  6. Web版需求征集系统所得1,servlet中获取checkbox复选框的值

    servlet中获取checkbox复选框的值 </tr> <tr> <td align="right">研究类型</td> < ...

  7. iCheck获取单选和复选框的值和文本

    //获取单选和复选框的值//parameters.type:"radio","checkbox"//parameters.name:input-name//pa ...

  8. 复选框批量删除操作-jquery方式

    1.首先在页面添加一个批量删除的按钮:<li class="btns"><input id="deleteSubmit" class=&quo ...

  9. selenium+Python(定位 单选、复选框,多层定位)

    1.定位一组元素webdriver 可以很方便的使用 findElement 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用 findElements 方法.定位一组对象 ...

随机推荐

  1. Android:Java代码添加按钮

    LinearLayout layout = (LinearLayout) findViewById(R.id.container); Button bn = new Button(this); bn. ...

  2. 日志组件logback的介绍及配置使用方法

    一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-acc ...

  3. 关于MPEG2中的图像序列和图像组头GOP

    图像序列 图像序列是由图像组构成的,是随机存取段落. sequence_header_code – The sequence_header_code is the bit string ‘000001 ...

  4. TCP/IP详解学习笔记(2)-- 数据链路层

    1.概述      数据链路层属于计算机网络的底层,使用的信道主要有点对点信道和广播信道两种类型.      在TCP/IP协议族中,数据链路层主要有三个目的:           1)为IP模块发送 ...

  5. mac下的一些常识

    1,环境变量 EddydeMacBook-Pro:~ eddy$ vi ~/.bash_profile EddydeMacBook-Pro:~ eddy$ vim /etc/profile Eddyd ...

  6. hdu 3336【Count the string】(KMP)

    一道字符串匹配的题目,仅仅借此题练习一下KMP 因为这道题目就是要求用从头开始的n个字符串去匹配原来的字符串,很明显与KMP中求next的过程很相似,所以只要把能够从头开始匹配一定个数的字符串的个数加 ...

  7. ionic icons and splash

    ionic 用cordova  可以直接设置自己的icons ,不用修改默认的图片了 1.在自己的根目录下新建一个文件夹 如icons 2.然后在icons文件夹下再建一个iOS 文件夹存放所需要的图 ...

  8. Json.net实现方便的Json转C#(dynamic动态类型)对象

    以前需要将一段json字符串转换为C#对象时,一般都是定义一个与之对应的实体类来接收.这样做有一个很大的缺点,就是当字符串特别长,属性特别多,又有嵌套时,手敲这个实体类就非常痛苦. 比如之前做的一个接 ...

  9. 手机h5 页面 iPhone 下 手机号码 蓝色字体 黑色字体

    在手机端 苹果系统下 手机号码会变成蓝色的 ,如何不让手机号变成蓝色  黑色 或者其他颜色 , 苹果真是的 原因是识别成了电话号码,然后成为了链接.解决方法: 更改链接的颜色 a{ color: re ...

  10. C++ 牛人博客(不断更新中...)

    http://www.zhangjiee.com/ 新浪微博@独酌逸醉. Github. GitCafe. stackoverflow. Quora http://cpp1x.org/ 刘未鹏 | M ...