第20章、OnCheckedChangeListener事件(从零开始学Android)
2012-12-19 22:11
633 查看
单选按钮RadioGroup、复选框CheckBox都有OnCheckedChangeListener事件,我们一起了解一下。
一、布局
1、打开“res/layout/activity_main.xml”文件。
2、界面如下:
二、OnCheckedChangeListener事件
打开“src/com.genwoxue.oncheckedchanged/MainActivity.java”文件。
然后输入以下代码:
尽管单选按钮和复选框都有OnCheckedChange事件,但注意二者区别。
效果如下:
一、布局
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事件,但注意二者区别。
效果如下:
相关文章推荐
- 第20章、OnCheckedChangeListener事件(从零开始学Android)
- 第20章、OnCheckedChangeListener事件(从零开始学Android)
- 从零开始学android:Android事件处理—单选钮与OnCheckedChangeListener
- 第22章、OnItemSelectedListener事件与二级联动(从零开始学Android)
- 第22章、OnItemSelectedListener事件与二级联动(从零开始学Android)
- Android-RadioGroup-onCheckedChangeListener
- 第21章、OnItemSelectedListener事件(从零开始学Android)
- Android CheckBox的OnCheckedChangeListener监听传值
- Android_ 3 单选钮 OnCheckedChangeListener
- 第22章、OnItemSelectedListener事件与二级联动(从零开始学Android)
- 第24章、OnLongClickListener长按事件(从零开始学Android)
- 第24章、OnLongClickListener长按事件(从零开始学Android)
- EasyDemo*事件监听之CheckBox~onCheckedChangeListener(on Github)
- 第24章、OnLongClickListener长按事件(从零开始学Android)
- Android 中文 API (30) —— CompoundButton.OnCheckedChangeListener
- Android 中文 API (30) —— CompoundButton.OnCheckedChangeListener
- 第24章、OnLongClickListener长按事件(从零开始学Android)
- 第21章、OnItemSelectedListener事件(从零开始学Android)
- 第24章、OnLongClickListener长按事件(从零开始学Android)
- 单选按钮RadioGroup、复选框CheckBox的OnCheckedChangeListener事件的实现方法