1.什么是ChexkBox?
复选框允许用户在同一个组中选择一个或对个选项。
2.ChexBox的使用
CheckBox的监听事件:setOnChekedChangeListener(),当checkbox选中的状态改变的时触发的监听。
需求:选中checkbox时提示选中的文本信息,点击确定按钮时显示最终的选中文本信息,实现全选功能
(1)先绑定checkbox的状态监听事件,选中某一项时给出提示
(2)然后绑定按钮的点击事件,点击时判断最终选中的checkbox,将选中的文本给出提示。
(3)实现全选功能
全选
如果所有的checkbox全被选中则 全选被选中
如果全选被选中则所有的checkbox均被选中
如果取消全选则所有的checkbox都取消
代码:
.xml文件中的代码

<LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextViewandroid:id="@+id/tv_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20sp"android:text="请选择你的爱好:" /><CheckBoxandroid:id="@+id/cb1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="敲代码" /><CheckBoxandroid:id="@+id/cb2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="游泳" /><CheckBoxandroid:id="@+id/cb3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="唱歌" /><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="确定" android:onClick="click"/><CheckBoxandroid:id="@+id/all_cb"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="全选" android:onClick="click"/></LinearLayout>

activity文件中的代码

public class MainActivity extends ActionBarActivity {
// 声明控件p
rivate CheckBox cb1, cb2, cb3;
private MyOnChekedChangeListener listener;private CheckBox all_cb;
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 关联空件cb1 = (CheckBox) findViewById(R.id.cb1);cb2 = (CheckBox) findViewById(R.id.cb2);cb3 = (CheckBox) findViewById(R.id.cb3);// 设置监听(以内部类的形式设置监听事件)listener = new MyOnChekedChangeListener();cb1.setOnCheckedChangeListener(listener);cb2.setOnCheckedChangeListener(listener);cb3.setOnCheckedChangeListener(listener);all_cb=(CheckBox) findViewById(R.id.all_cb);//点击确定按钮监听事件
public void click(View view){switch(view.getId()){case R.id.btn1:String str=check();Toast.makeText(MainActivity.this,"选中的是"+str, Toast .LENGTH_SHORT).show();break;//当点击 了全选按钮,则checkbox全部被选中case R.id .all_cb:boolean bl=all_cb.isChecked();cb1.setChecked(bl);cb2.setChecked(bl);cb3.setChecked(bl);break;}//定义一个方法,获取checkbox最终选中的文本
public String check(){//设置一个字符串缓冲区,你选中的是什么就可以存到缓冲区里面StringBuilder sb=new StringBuilder();if(cb1.isChecked()){sb.append(cb1.getText().toString());//表示追加,将选中的内容添加到缓冲区}if(cb2.isChecked()){sb.append(cb2.getText().toString());//表示追加,将选中的内容添加到缓冲区}if(cb3.isChecked()){sb.append(cb3.getText().toString());//表示追加,将选中的内容添加到缓冲区}return sb.toString();//返回值是缓冲区的内容
}// 内部类形式设置监听事件
class MyOnChekedChangeListener implements OnCheckedChangeListener {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {// CompoundButton buttonView:表示当前状态切换的控件对象,其返回值是一个buttonView,所以要强转// boolean isChecked 表示当前控件的选中状态//获取选中状态的文本并且给出提示//          if(isChecked){//              CheckBox cb = (CheckBox) buttonView;

// String str = cb.getText().toString();// 获取选中的内容
// Toast.makeText(MainActivity.this, “选中的是” + str, Toast.LENGTH_SHORT)
// .show();
// }
//如果发现列表中的checkbox全部被选中则全选被选中,否则全选不被选中
if(cb1.isChecked()&&cb2.isChecked()&&cb3.isChecked()){
all_cb.setChecked(true);

        }else{all_cb.setChecked(false);}}}

}

CheckBox的使用相关推荐

  1. 点击文字可以选中相应的checkbox

    点击文字可以选中相应的checkbox (2008-11-22 14:16:40) 转载▼ 标签: 杂谈 分类: javascript 转载: 这是一个例子: <html> <hea ...

  2. Android CheckBox 点击的时候没有效果

    写了一个CheckBox 点击的时候没有效果 感觉莫名其妙的,最后在xml 中设置了 android:clickable="true" 点击有效果了, 见鬼了.

  3. Android CheckBox 修改选择框

    效果图 是否被选中打印效果图图 CheckBox  是多选框 ,选中之后可以再次点击取消操作. 在使用的时候注意padding 是相对于字体来的不是相对选择框 下面第一个位置调整了 使用了paddin ...

  4. ASP.NET MVC3 在WebGrid中用CheckBox选中行

    分三步走 1.保证你的webgrid包含在form中 @using (Html.BeginForm("Assign","Home")) { } 2.在webgr ...

  5. ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList

    有时候希望在 GridView 模板中使用自动回发的 CheckBox (autopostback=true) ,但是 CheckBox 没有 CommandName 属性,因此也就无法在 GridV ...

  6. 用js 判断datagrid 中的 checkbox 是否被选中

    private void Page_Load(object sender, System.EventArgs e)         {             // 在此处放置用户代码以初始化页面   ...

  7. CSS3重新定义input中呆若木鸡的默认复选框CheckBox和单选框Radio样式

    <!DOCTYPE html> <html> <head><meta charset="UTF-8"><style>/* ...

  8. 手把手教你如何扩展GridView之自带CheckBox

    我们在使用GridView的时候,很多时候需要使用CheckBox列,比如批量删除,批量审批,但是每每都需要记住繁琐的实现方法.多麻烦呀!再次给GridView做个手术,让它自己就能产生CheckBo ...

  9. 自己开发开源jquery插件--给jquery.treeview加上checkbox

    很多时候需要把树状的数据显示除来,比如分类,中国省份.城市信息,等,因此这方面的javascript插件也有很多.比如性能优异的jquery.treeview和国人开发的功能强大的zTree. 我最近 ...

  10. 【转帖】如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值

    功能需求 1,  单击 checkbox 返回当前行值 2,  外部按钮获取所有选择行的值 实现说明 参见主要代码,代码为自说明式. 原文地址:http://www.cnblogs.com/Jingl ...

最新文章

  1. 2021牛客多校6 - Hopping Rabbit(矩形取模+扫描线)
  2. 前端学习(2795):实现样式的左侧结构和样式
  3. python语言例子_【Python】SimPy的使用示例-Go语言中文社区
  4. 2 数据源配置_如何在程序运行中动态切换数据源?架构师必读秘笈
  5. MongoDB基本用法
  6. 真不好意思,关于小猪妹(妖精)的
  7. C++11常见新特性
  8. 关于.NET异常 你应该知道的更多点
  9. linux系统 nvme驱动模块,Linux 5.5最终通过HWMON公开NVMe驱动器温度
  10. android 无损分区,有什么可行办法把安卓4.4用的tf卡第一个分区从fat32无损转换成ext4?...
  11. 2022“杭电杯”中国大学生算法设计超级联赛(5)杭电多校第五场
  12. pacman 升级软件包提示 “failed to commit transaction (invalid or corrupted package)“
  13. 33.什么是wildcard(通配符)查询?如何进行通配符查询?如何使用java进行wildcard (通配符)查询?嘻哈的简写笔记——Elastic Search
  14. Python之——获取电脑连接过的所有wifi名称和密码
  15. HDMI+VGA+USB3.0+PD3.0四合一多功能扩展坞|type c 扩展坞接口功能说明
  16. 哪款蓝牙耳机品质好?音质好的四款蓝牙耳机测评
  17. 欧姆龙CK3M与松下A6伺服驱动配置——位置模式
  18. python 批量修改文件名_Python 批量修改文件名
  19. html分享微信qq等,h5移动端调用微信好友,朋友圈,QQ好友,QQ空间等APP分享功能...
  20. Win8卸载2345看图王

热门文章

  1. CUDA RuntimeError: CUDA error: an illegal memory access was encountered
  2. win pear php7.1,windows上应用pear安装php扩展 - libevent
  3. 空调风扇内机不转故障分析与检修
  4. Genymotion3.0+virtualbox6.0安装包
  5. 安卓用户初次体验微信公众号信息流改版
  6. 《Clean Code》读书笔记-1
  7. Mysql复制数据库--star.Hou
  8. FCKeditor相关问题
  9. C语言双引号A单引号A,C语言查漏补缺——单引号和双引号
  10. 契约锁助力上市公司IPO申报 信息披露、重大事项决策等文件网上签