今天我们介绍的是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:andro>
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.效果图如下: