您的位置:首页 > 移动开发 > Android开发

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

2011-04-01 16:57 633 查看
一、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" />




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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐