Android学习笔记:常用控件 RadioGroup和CheckBox
RadioGroup和CheckBox是android的常用控件,本文自做简单介绍和学习笔记,所以所用的控件样式选用android默认的样式。
先看下代码实现的效果图
图中,上面两个(male和female)为一个RadioGroup中的两个RadioButton,下面三个为CheckBox。
一个RadioGroup里面的内容只可单选,CheckBox可多选。
接下来是代码部分
布局文件代码activity_main.xml :
<LinearLayoutxmlns: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"android:orientation="vertical"tools:context="com.jam.radiogroupandcheckbox.MainActivity"><RadioGroupandroid:id="@+id/id_radiogroup"android:layout_width="wrap_content"android:layout_height="wrap_content"><RadioButtonandroid:id="@+id/id_radiobutton_male"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="male"/><RadioButtonandroid:id="@+id/id_radiobutton_female"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="female"/></RadioGroup><CheckBoxandroid:id="@+id/id_checkbox_one"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="one"/><CheckBoxandroid:id="@+id/id_checkbox_two"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="two"/><CheckBoxandroid:id="@+id/id_checkbox_three"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="three"/></LinearLayout>
采用的是线性布局,代码比较简单,就是一个RadioGroup包含了两个RadioButton(想要多少RadioButton就加多少个),还有三个CheckBox。
接下来是MainActivity.java :
packagecom.jam.radiogroupandcheckbox;importandroid.app.Activity;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.Menu;importandroid.widget.CheckBox;importandroid.widget.CompoundButton;importandroid.widget.RadioButton;importandroid.widget.RadioGroup;importandroid.widget.RadioGroup.OnCheckedChangeListener;publicclassMainActivityextendsActivity{//声明控件privateRadioGroupradioGroup;privateCheckBoxcheckBox_one;privateCheckBoxcheckBox_two;privateCheckBoxcheckBox_three;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);radioGroup=(RadioGroup)findViewById(R.id.id_radiogroup);checkBox_one=(CheckBox)findViewById(R.id.id_checkbox_one);checkBox_two=(CheckBox)findViewById(R.id.id_checkbox_two);checkBox_three=(CheckBox)findViewById(R.id.id_checkbox_three);/***radioGroup绑定一个匿名内部类android.widget.RadioGroup.OnCheckedChangeListener*/radioGroup.setOnCheckedChangeListener(newOnCheckedChangeListener(){@OverridepublicvoidonCheckedChanged(RadioGroupgroup,intcheckedId){switch(checkedId){caseR.id.id_radiobutton_male:Log.i("radioGroup","male");break;caseR.id.id_radiobutton_female:Log.i("radioGroup","female");break;}}});//给三个CheckBox绑定监听器checkBox_one.setOnCheckedChangeListener(newmyOnCheckedChangeListener());checkBox_two.setOnCheckedChangeListener(newmyOnCheckedChangeListener());checkBox_three.setOnCheckedChangeListener(newmyOnCheckedChangeListener());}/***注意CheckBox绑定的Listener是android.widget.CompoundButton.OnCheckedChangeListener*@authorjam**/privateclassmyOnCheckedChangeListenerimplementsandroid.widget.CompoundButton.OnCheckedChangeListener{@OverridepublicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){switch(buttonView.getId()){caseR.id.id_checkbox_one:Log.i("checkbox","one");break;caseR.id.id_checkbox_two:Log.i("checkbox","two");break;caseR.id.id_checkbox_three:Log.i("checkbox","three");break;}}}}
以上便是RadioGroup和CheckBox的简单使用方式,RadioGroup和CheckBox获取选择的内容和其他用途网上已有许多资源,在此就不再介绍。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。