第20章、OnCheckedChangeListener事件(从零开始学Android)
来源:互联网 发布:潮州淘宝培训 编辑:程序博客网 时间:2024/06/05 00:33
单选按钮RadioGroup、复选框CheckBox都有OnCheckedChangeListener事件,我们一起了解一下。
一、布局
1、打开“res/layout/activity_main.xml”文件。
- <RelativeLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity" >
- <RadioGroup
- android:id="@+id/gender"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentTop="true" >
- <RadioButton
- android:id="@+id/male"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:checked="true"
- android:text="男" />
- <RadioButton
- android:id="@+id/female"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="女" />
- </RadioGroup>
- <CheckBox
- android:id="@+id/football"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_below="@+id/gender"
- android:text="足球" />
- <CheckBox
- android:id="@+id/basketball"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_below="@+id/football"
- android:text="蓝球" />
- </RelativeLayout>
2、界面如下:
二、OnCheckedChangeListener事件
打开“src/com.genwoxue.oncheckedchanged/MainActivity.java”文件。
然后输入以下代码:
- 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事件,但注意二者区别。
效果如下:
0 0
- 第20章、OnCheckedChangeListener事件(从零开始学Android)
- 第20章、OnCheckedChangeListener事件(从零开始学Android)
- 第20章、OnCheckedChangeListener事件(从零开始学Android)
- 从零开始学android:Android事件处理—单选钮与OnCheckedChangeListener
- 第21章、OnItemSelectedListener事件(从零开始学Android)
- 第23章、OnFocuChangeListener焦点事件(从零开始学Android)
- 第25章、OnTouchListener触摸事件(从零开始学Android)
- 第26章、OnKeyListener键盘事件(从零开始学Android)
- 第21章、OnItemSelectedListener事件(从零开始学Android)
- 第23章、OnFocuChangeListener焦点事件(从零开始学Android)
- 第25章、OnTouchListener触摸事件(从零开始学Android)
- 第21章、OnItemSelectedListener事件(从零开始学Android)
- 第23章、OnFocuChangeListener焦点事件(从零开始学Android)
- 第18章、基于监听器的事件处理(从零开始学Android)
- 第22章、OnItemSelectedListener事件与二级联动(从零开始学Android)
- 第24章、OnLongClickListener长按事件(从零开始学Android)
- 第18章、基于监听器的事件处理(从零开始学Android)
- 第22章、OnItemSelectedListener事件与二级联动(从零开始学Android)
- 堆排序与其他排序算法的时间效率比较
- MySQL5.5数据库乱码问题
- java中代码的注释和快捷键
- mybatis 配置文件传参数
- VC Access 获取列名
- 第20章、OnCheckedChangeListener事件(从零开始学Android)
- js阻止默认事件与js阻止事件冒泡示例
- BOX2D 第十二章 调试绘图
- 学习-安卓开源项目-MPAndroidChart
- hdu 3681 Prison Break (TSP问题)
- 表单-实现文本框达到最大值后自动切换到下一个文本框
- 获取<s:select>的listValue
- 简单的thinkphp,mysql增删查改,连贯操作总结
- javascript深入理解js闭包