多选框CheckBox的使用

来源:互联网 发布:openwrt修改wan口mac 编辑:程序博客网 时间:2024/06/04 08:08

每个多选框都是独立的,可以通过迭代所有多选框,然后根据其状态是否被选中再获取其值。
这里写图片描述
这里写图片描述

activity_main.xml
这里写图片描述
这里写图片描述

MainActivity.java

package com.example.checkbox;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.Toast;import android.widget.CompoundButton.OnCheckedChangeListener;public class MainActivity extends Activity implements OnCheckedChangeListener {    // 声明控件对象的集合    private List<CheckBox> ckbs;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 初始化集合        ckbs = new ArrayList<CheckBox>();        // 把CheckBox对象加入到集合中        ckbs.add((CheckBox) findViewById(R.id.checkBox1));        ckbs.add((CheckBox) findViewById(R.id.checkBox2));        ckbs.add((CheckBox) findViewById(R.id.checkBox3));        // 设置第一个是被选中状态        ckbs.get(0).setChecked(true);        // 遍历        for (CheckBox ckb : ckbs) {            // 注册事件            ckb.setOnCheckedChangeListener(this);        }    }    public void clickView(View v) {        // 遍历        for (CheckBox ckb : ckbs) {            if (ckb.isChecked()) {                System.out.println(ckb.getText());            }        }    }    @Override    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {        CheckBox ckb = (CheckBox) buttonView;        if (isChecked) {            Toast.makeText(this, ckb.getText(), 1).show();        }    }}
3 0
原创粉丝点击