Android学习笔记6——常用控件RadioButton/CheckBox/Toast

一、RadioButton

1、一组RadioButton被一个RadioGroup所包围

<RadioGroup android:id="@+id/gender" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/female" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/female" /> <RadioButton android:id="@+id/male" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/male" /> </RadioGroup>

2、RadioButton的事件监听器是绑定在RadioGroup上面的

// 为RadioGroup绑定监听器而不是给RadioButton // 事件监听器onCheckedChangeListener是RadioGroup的一个内部类 // 这里使用匿名内部类 genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { // 参数checkedId代表事件源radioButton的id,通过这个比较来判断事件源 @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if (checkedId == R.id.female) { System.out.println("female"); // Toast控件,第一个参数为一个context,在此即当前activity对象 // 第二个参数为要显示的文字 // 第三个参数为显示的时间长短,有Toast.LENGTH_SHORT和Toast.LENGTH_LONG两种 Toast.makeText(RadioCheckBoxToast.this, "female", Toast.LENGTH_SHORT).show(); } else if (checkedId == R.id.male) { System.out.println("male"); Toast.makeText(RadioCheckBoxToast.this, "male", Toast.LENGTH_SHORT).show(); } } });

二、CheckBox

不同于,各个CheckBox之间是相互独立的

<CheckBox android:id="@+id/running" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/running" /> <CheckBox android:id="@+id/reading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/reading" /> <CheckBox android:id="@+id/swimming" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/swimming" />

Android学习笔记6——常用控件RadioButton/CheckBox/Toast_第1张图片

2、CheckBox的事件监听器是绑定在各个控件自己身上的

// 为CheckBox绑定监听器 // CheckBox是extends CompoundButton,其事件监听器也是在CompoundButton // 监听器的名字也是onCheckedChangeListener // RadioButton也是extends CompoundButton,但是在上面由于事件监听器绑定的是RadioGroup而不是 // RadioButton,所以是用RadioGroup里面的listener runningCheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (true == isChecked) { System.out.println(buttonView.getText() + "被选择"); } else { System.out.println(buttonView.getText() + "取消选择"); } } }); readingCheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (true == isChecked) { System.out.println(buttonView.getText() + "被选择"); } else { System.out.println(buttonView.getText() + "取消选择"); } } }); swmmingCheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (true == isChecked) { System.out.println(buttonView.getText() + "被选择"); } else { System.out.println(buttonView.getText() + "取消选择"); } } });

三、Toast,该控件不用在布局文件中定义,直接在java源文件中

// Toast控件,第一个参数为一个context,在此即当前activity对象 // 第二个参数为要显示的文字 // 第三个参数为显示的时间长短,有Toast.LENGTH_SHORT和Toast.LENGTH_LONG两种 Toast.makeText(RadioCheckBoxToast.this, "female", Toast.LENGTH_SHORT).show();

 

你可能感兴趣的:(Android学习笔记6——常用控件RadioButton/CheckBox/Toast)