package com.example.android_day03_checkboxs_01;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;
/**
* 1.初始化控件
* 2.设置监听
* 3.如果lol 吃饭 睡觉 全选,那么全选按钮也被勾选
* 如果有一个没有选中。那么全选取消
* 4.点击全选按钮,其他三个状态和全选checkBox状态一致
* 5.点击提交按钮Toast选中内容
*/
//导包时候要注意:checkBox compoundButton
public class MainActivity extends Activity implements OnCheckedChangeListener{
boolean flag;
private CheckBox lolBox,eatBox,sleepBox,allBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//控件赋值
lolBox = (CheckBox) findViewById(R.id.lol);
eatBox = (CheckBox) findViewById(R.id.eat);
sleepBox = (CheckBox) findViewById(R.id.sleep);
allBox = (CheckBox) findViewById(R.id.all);
lolBox.setOnCheckedChangeListener(this);
eatBox.setOnCheckedChangeListener(this);
sleepBox.setOnCheckedChangeListener(this);
//all设置监听
allBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
//isChecked 是否被选中
if (true==isChecked) {
lolBox.setChecked(isChecked);
eatBox.setChecked(isChecked);
sleepBox.setChecked(isChecked);
}
//作业 解决程序中的问题
}
});
}
/**
* 参数1: 你勾选了那个CheckBox
* 参数2: CheckBox是否选中
*/
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
/**
* CheckBox选中监听事件 选中和未选中
* 只要出发该事件,就证明有CheckBox发生状态改变!
*/
if (lolBox.isChecked() && eatBox.isChecked() && sleepBox.isChecked()) {
//全部选中
allBox.setChecked(true); //设置选中
}else{
allBox.setChecked(false);
}
}
//按钮点击事件
public void commit(View view){
StringBuffer sb = new StringBuffer();
if (lolBox.isChecked()) {
sb.append(lolBox.getText().toString());
}
if (eatBox.isChecked()) {
sb.append(eatBox.getText().toString());
}
if (sleepBox.isChecked()) {
sb.append(sleepBox.getText().toString());
}
Toast.makeText(MainActivity.this, sb.toString(), Toast.LENGTH_SHORT).show();
}
}
Android-day03-CheckBox
最新推荐文章于 2024-01-29 15:59:00 发布