热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一起TalkAndroid吧(第七十一回:Android中UI控件之CheckBox)

各位看官们,大家好,上一回中咱们说的是Android中UI控件之RadioButton的例子,这一回咱们说的例子是UI控件之CheckBox。闲话休提,言归正转。让我们一起TalkAnd

各位看官们,大家好,上一回中咱们说的是Android中UI控件之RadioButton的例子,这一回咱们说的例子是UI控件之CheckBox。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,单选按钮使用的地方非常多,不过也有它的局限性。比如想选择多个内容时它就无能为力了,因此我们在本章回中介绍一种新控件:CheckBox。CheckBox也叫复选框。它通常用来给用户提供多选操作,程序依据用户选择的操作来做不同的事情。它可以看作是单选按钮的互补。接下来我们通过代码结合文本的方式来演示使用使用这种组件。

  • 1.在布局中添加CheckBox。通常是在Activity或者Fragment的布局文件中添加。
 "match_parent"
        android:layout_hljs-string">"wrap_content">
         //这个文本控件是用来给用户选择的内容做提示,提示的内容就是文本显示的内容
                android:layout_hljs-string">"60dp"
                android:layout_hljs-string">"wrap_content"
                android:gravity="center"
                android:text="Interest: "/>
         //添加CheckBox控件,并且设置它的id等属性
            android:id="@+id/check_box_bj"
            android:layout_hljs-string">"wrap_content"
            android:layout_hljs-string">"wrap_content"
            android:text="Bei Jing"/>

         //添加CheckBox控件,并且设置它的id等属性
            android:id="@+id/check_box_sh"
            android:layout_hljs-string">"wrap_content"
            android:layout_hljs-string">"wrap_content"
            android:text="Shang Hai"/>
         //添加CheckBox控件,并且设置它的id等属性
            android:id="@+id/check_box_gz"
            android:layout_hljs-string">"wrap_content"
            android:layout_hljs-string">"wrap_content"
            android:text="Guang Zhou"/>
    
  • 2.在代码中获取布局文件中的CheckBox。通常位于Activity或者Fragment的onCreate方法中。
    private CheckBox mCheckBoxBJ = (CheckBox)findViewById(R.id.check_box_bj);
    private CheckBox mCheckBoxSH = (CheckBox)findViewById(R.id.check_box_sh);
    private CheckBox mCheckBoxGZ = (CheckBox)findViewById(R.id.check_box_gz);
  • 3.在代码中获取用户选择了哪几个CheckBox。通常是在CheckBox的监听器中来完成该操作。
  private class checkBoxChangeListenerImpl implements CompoundButton.OnCheckedChangeListener{
        private String mString;
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
            switch ( compoundButton.getId() ){
                case R.id.check_box_bj:
                    mString = new String("Bei Jing");
                    break;
                case R.id.check_box_gz:
                    mString = new String("Guang Zhou");
                    break;
                case R.id.check_box_sh:
                    mString = new String("Shang Hai");
                    break;
                    default:
                        break;
            }
            if(b) {
                Toast.makeText(getApplicationContext(), mString, Toast.LENGTH_LONG).show();
            }
        }

我们首先定义了一个内部类,该类实现了CompoundButton.OnCheckedChangeListener接口,并且重写了该接口的onCheckedChanged()方法。该方法的第一个参数表示复选框,第二个参数表示复选框是否被选择。在上面的代码中我们对复选框的id进行了匹配,并且依据复选框是否被选中弹出一个Toast给用户做提示。接下来我们为复选框设置监听器。

mCheckBoxBJ.setOnCheckedChangeListener(new checkBoxChangeListenerImpl());
mCheckBoxGZ.setOnCheckedChangeListener(new checkBoxChangeListenerImpl());
mCheckBoxSH.setOnCheckedChangeListener(new checkBoxChangeListenerImpl());

从上面的代码中可以看到,我们使用setOnCheckedChangeListener()方法为复选框设置了监听器,而监听器的对象就是刚才定义的内部类对象。下面是程序运行时的效果图,请大家参考。

这里写图片描述

各位看官,关于Android中UI控件之CheckBox的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!



推荐阅读
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了一种解析GRE报文长度的方法,通过分析GRE报文头中的标志位来计算报文长度。具体实现步骤包括获取GRE报文头指针、提取标志位、计算报文长度等。该方法可以帮助用户准确地获取GRE报文的长度信息。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
author-avatar
baisedehuiyi11396
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有