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