今天我们介绍的是Checkbox多选框:
1.Activity
//复选框,[基础控件]---状态切换控件CompoundButton及其子类CheckBox、RadioButton、ToggleButton、switch事件监听与场景使用
public class CheckBoxActivity extends Activity implements CompoundButton.OnCheckedChangeListener{ private Context context;
private CheckBox sleepCheckBox;
private CheckBox dadoudouCheckBox;
private CheckBox gameCheckBox;
private CheckBox shoppingCheckBox;
private CheckBox filmCheckBox;
private CheckBox sportCheckBox;
private Button submitButton; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.check_box); init();
addAction(); } private void init(){
context = this;
sleepCheckBox = (CheckBox)findViewById(R.id.sleepCheckBoxId);
dadoudouCheckBox = (CheckBox)findViewById(R.id.dadoudouCheckBoxId);
gameCheckBox = (CheckBox)findViewById(R.id.gameCheckBoxId);
shoppingCheckBox = (CheckBox)findViewById(R.id.shoppingCheckBoxId);
filmCheckBox = (CheckBox)findViewById(R.id.filmCheckBoxId);
sportCheckBox = (CheckBox)findViewById(R.id.sportCheckBoxId);
submitButton = (Button)findViewById(R.id.submitButtonId);
} private void addAction(){
sleepCheckBox.setOnCheckedChangeListener(this);
dadoudouCheckBox.setOnCheckedChangeListener(this);
gameCheckBox.setOnCheckedChangeListener(this);
shoppingCheckBox.setOnCheckedChangeListener(this);
filmCheckBox.setOnCheckedChangeListener(this);
sportCheckBox.setOnCheckedChangeListener(this);
submitButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//String 字符串常量
//StringBuffer 字符串变量(线程安全)
//StringBuilder 字符串变量(非线程安全)
StringBuilder sb = new StringBuilder("您的兴趣是:");
//MyStringBuilder.Insert(6,"Beautiful ");
//MyStringBuilder.Remove(5,7);
//MyStringBuilder.Replace('!', '?');
//代码示例指定可以将 MyStringBuilder对象扩充到最大 25个空白。
//StringBuilderMyStringBuilder = new StringBuilder("Hello World!", 25);
if(sleepCheckBox.isChecked()){
sb.append("睡觉 ");
}
if(dadoudouCheckBox.isChecked()){
sb.append("打豆豆 ");
}
if(gameCheckBox.isChecked()){
sb.append("游戏 ");
}
if(shoppingCheckBox.isChecked()){
sb.append("购物 ");
}
if(filmCheckBox.isChecked()){
sb.append("电影 ");
}
if(sportCheckBox.isChecked()){
sb.append("运动");
} Toast.makeText(context, sb.toString(), Toast.LENGTH_LONG).show();
}
});
} @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int id = buttonView.getId();
switch(id){
case R.id.sleepCheckBoxId:
if(isChecked){
Toast.makeText(context, "你选择了\"睡觉\"", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(context, "你取消选择了\"睡觉\"", Toast.LENGTH_SHORT).show();
}
break;
case R.id.dadoudouCheckBoxId:
if(isChecked){
Toast.makeText(context, "你选择了\"打豆豆\"", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(context, "你取消选择了\"打豆豆\"", Toast.LENGTH_SHORT).show();
}
break;
case R.id.gameCheckBoxId:
if(isChecked){
Toast.makeText(context, "你选择了\"游戏\"", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(context, "你取消选择了\"游戏\"", Toast.LENGTH_SHORT).show();
}
break;
case R.id.shoppingCheckBoxId:
if(isChecked){
Toast.makeText(context, "你选择了\"购物\"", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(context, "你取消选择了\"购物\"", Toast.LENGTH_SHORT).show();
}
break;
case R.id.filmCheckBoxId:
if(isChecked){
Toast.makeText(context, "你选择了\"电影\"", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(context, "你取消选择了\"电影\"", Toast.LENGTH_SHORT).show();
}
break;
case R.id.sportCheckBoxId:
if(isChecked){
Toast.makeText(context, "你选择了\"运动\"", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(context, "你取消选择了\"运动\"", Toast.LENGTH_SHORT).show();
}
break;
}
} }
2.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- 复选框页面 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="5dp" > <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="兴趣:"
android:textSize="20sp" /> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" > <CheckBox
android:id="@+id/sleepCheckBoxId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="睡觉" /> <CheckBox
android:id="@+id/dadoudouCheckBoxId"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:text="打豆豆" /> <CheckBox
android:id="@+id/gameCheckBoxId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="游戏" />
</LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" > <CheckBox
android:id="@+id/shoppingCheckBoxId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="购物" /> <CheckBox
android:id="@+id/filmCheckBoxId"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:text="电影" /> <CheckBox
android:id="@+id/sportCheckBoxId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="运动" />
</LinearLayout> <Button
android:id="@+id/submitButtonId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="确定"
android:textSize="20sp" /> </LinearLayout>
3.效果图如下: