第20章、OnCheckedChangeListener事件(从零开始学Android)
来源:互联网 发布:jsp加载时调用js 编辑:程序博客网 时间:2024/05/29 16:21
http://blog.csdn.net/jianghuiquan/article/details/8333582
单选按钮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)
- 第18章、基于监听器的事件处理(从零开始学Android)
- java多线程
- //linux shell 生成 范围 随机整数
- OpenSSL学习笔记:openssl命令行的使用
- 关于JS中的constructor与prototype
- 第20章、OnCheckedChangeListener事件(从零开始学Android)
- 修行__欲望
- JavaScript速记3 —— 全局对象和包装对象
- 第21章、OnItemSelectedListener事件(从零开始学Android)
- pjsip对接已编码的流
- 人这辈子应该这样活,极简主义生活方式
- android.view.WindowLeaked的问题解决
- 生命的长度
- ICML 2014