[Android]CheckBox复选框

在Android开发中,复选框(CheckBox)是一种常用的控件,用于让用户在多个选项中进行选择。它通常用于表单中,让用户选择多个选项或者进行多项操作。在本篇博客中,我们将介绍如何在Android应用中使用CheckBox控件。

首先,我们需要在XML布局文件中定义CheckBox控件。例如:

<CheckBoxandroid:id="@+id/checkBox1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Option 1" />

在上面的代码中,我们定义了一个id为checkBox1的CheckBox控件,并设置了它的宽度、高度和显示的文本内容。

接下来,我们需要在Java代码中获取CheckBox控件,并设置它的监听器,以便在用户点击时进行相应的操作。例如:

CheckBox checkBox1 = findViewById(R.id.checkBox1);
checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (isChecked) {// 当复选框被选中时的操作} else {// 当复选框被取消选中时的操作}}
});

在上面的代码中,我们获取了id为checkBox1的CheckBox控件,并设置了它的监听器。当用户点击CheckBox时,onCheckedChanged方法会被调用,我们可以在这个方法中根据isChecked参数的值来进行相应的操作。

除了设置监听器,我们还可以通过代码来获取CheckBox的状态,并进行相应的操作。例如:

boolean isChecked = checkBox1.isChecked();
if (isChecked) {// 当复选框被选中时的操作
} else {// 当复选框被取消选中时的操作
}

简单的复选框练习

<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="请选择喜欢的颜色"android:textSize="20sp"/><CheckBoxandroid:id="@+id/red"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="红色"android:checked="false"/><CheckBoxandroid:id="@+id/green"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="绿色"android:checked="false"/><CheckBoxandroid:id="@+id/blue"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="蓝色"android:checked="false"/><Buttonandroid:id="@+id/sub"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="提交"/>
    CheckBox red=findViewById(R.id.red);
CheckBox green=findViewById(R.id.green);
CheckBox blue=findViewById(R.id.blue);
red.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if(isChecked){Toast.makeText(this,"选中"+buttonView.getText(),Toast.LENGTH_SHORT).show();}}
});
green.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if(isChecked){Toast.makeText(this,"选中"+buttonView.getText(),Toast.LENGTH_SHORT).show();}}
});
blue.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if(isChecked){Toast.makeText(this,"选中"+buttonView.getText(),Toast.LENGTH_SHORT).show();}}
});
Button sub=findViewById(R.id.sub);
sub.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String string="";if (red.isChecked()) {string = string + red.getText().toString();}if (green.isChecked()) {string = string + green.getText().toString();}if (blue.isChecked()) {string = string + blue.getText().toString();}Toast.makeText(this, string, Toast.LENGTH_SHORT).show();}
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/240415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity内置的四种渲染管线简介

Unity的渲染管线&#xff08;Rendering Pipeline&#xff09;负责将游戏场景转化为可以在屏幕上显示的像素。 Unity 提供以下渲染管线&#xff08;官方文档的介绍&#xff09;&#xff1a; 内置渲染管线是 Unity 的默认渲染管线。这是通用的渲染管线&#xff0c;其自定义选项…

《Python》面试常问:深拷贝、浅拷贝、赋值之间的关系(附可变与不可变)【用图文讲清楚!】

背景 想必大家面试或者平时学习经常遇到问python的深拷贝、浅拷贝和赋值之间的区别了吧&#xff1f;看网上的文章很多写的比较抽象&#xff0c;小白接收的难度有点大&#xff0c;于是乎也想自己整个文章出来供参考 可变与不可变 讲深拷贝和浅拷贝之前想讲讲什么是可变数据类型…

Win10 使用 Nmap 扫描 Andorid 设备开放端口

Nmap Nmap 是 网络探测工具和安全/端口扫描器。 官网链接 Nmap参考指南(Man Page) 官网下载地址 Downloading Nmap Nmap 下载安装 到官网下载对应操作系统的安装包&#xff0c; 默认配置&#xff0c;一直下一步安装即可。安装过程中备份下安装路径&#xff0c;后续用到。…

九州未来大模型一体机,加速AI应用落地

2023年已接近尾声&#xff0c;对于中国人工智能产业而言&#xff0c;这一年注定成为一个重要的转折点。在不同行业中&#xff0c;人工智能的应用不断涌现&#xff0c;众多大模型如雨后春笋般涌现。然而&#xff0c;在这一发展过程中也不可避免地出现了一系列问题&#xff0c;包…

Java项目启动过程中Mybatis报错bug(多问题汇总,持续更新)

目录 前言1. Error: Method queryTotal execution error of sql2. Cause: java.sql.SQLSyntaxErrorException: Unknown column xxxxx in fiel其他前言 统计实战中关于Mybatis出错的原因 1. Error: Method queryTotal execution error of sql 执行Springboot的时候出现如下错…

vcruntime140_1.dll文件下载安装方法分享,如何安全修复vcruntime140_1.dll

遇到vcruntime140_1.dll文件遗失是用户在使用Windows操作系统时较为普遍遭遇到的一个问题&#xff0c;它归类于动态链接库&#xff08;DLL&#xff09;文件缺失的常见情形。在今天的内容里&#xff0c;我们将深入探讨如何正确地下载和安装vcruntime140_1.dll文件&#xff0c;以…

dangerouslyUseHTMLString选项来启用自定义 HTML 片段

Old&#xff1a; const msg 切换旧版成功&#xff0c;推荐 <span id"changeMsg" style"color: #47FFF1;; text-decoration: underline;">切换新版</span> 体验最新效果;const message ElMessage({customClass: site-toast,dangerouslyUseHTML…

得到山形数组的最少删除次数(LeetCode日记)

LeetCode-1671-得到山形数组的最少删除次数 题目信息: 我们定义 a r r arr arr 是 山形数组 当且仅当它满足&#xff1a; a r r . l e n g t h > 3 arr.length > 3 arr.length>3存在某个下标 i i i &#xff08;从 0 开始&#xff09; 满足 0 < i < a r r…

Google推出Gemini AI开发——10年工作经验的Android开发要被2年工作经验的淘汰了?

应用程序中利用 Gemini 前言&#xff08;可略过&#xff09;、使用 Gemini Pro 开发应用程序正文、Android Studio 中构建Gemini API Starter 应用第 1 步&#xff1a;在 AI 的新项目模板的基础上进行构建第 2 步&#xff1a;生成 API 密钥第 3 步&#xff1a;开始原型设计 正文…

Mybatis之增删改查

目录 一、引言 二、Mybatis——增 举例&#xff1a;添加用户 三、Mybatis——删 举例&#xff1a;删除用户 四、Mybatis——改 举例&#xff1a;修改用户 五、Mybatis——查 六、注意 END&#xff1a; 一、引言 书接上回&#xff0c;我们在了解完mybatis之后&#xff0c;肯…

STM32F4 HAL流水灯Proteus仿真

源码下载&#xff1a;https://download.csdn.net/download/zlkk00/88654405

CSS基础小练习

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>圣诞节快乐</title><style>/*设置背景色*/body{background-image:linear-gradient(green 50%,red 50%);background-size:100% 30px;}/*让div在页面居中*/#text{…

ubuntu 18/20/22 安装 mysql 数据库

这里写自定义目录标题 ubuntu 18/20/22 安装 mysql 数据库1. 准备2. 安装 mysql3. 配置4. 测试 demo 用户5 服务管理5.1 查看服务状态5.2 启动服务5.3 停止服务5.4 重启服务 ubuntu 18/20/22 安装 mysql 数据库 1. 准备 安装前需要知道 root 用户的密码 假如不知道 root 用户…

20231223使用Rockchip原厂的Android11调通Firefly的AIO-3399J开发板上的AP6356S

20231223使用Rockchip原厂的Android11调通Firefly的AIO-3399J开发板上的AP6356S 2023/12/23 14:14 开发板&#xff1a;Firefly的AIO-3399J【RK3399】 SDK&#xff1a;rk3399-android-11-r20211216.tar.xz【Android11】 Android11.0.tar.bz2.aa【ToyBrick】 Android11.0.tar.bz2…

C# Onnx yolov8n csgo player detection

目录 效果 模型信息 项目 代码 下载 C# Onnx yolov8n csgo player detection 效果 模型信息 Model Properties ------------------------- date&#xff1a;2023-12-22T15:01:08.014205 author&#xff1a;Ultralytics task&#xff1a;detect license&#xff1a;AGPL-…

学会这套Pytest接口自动化测试框架,击败99%的人

Pytest 的下载安装 1、Python3 使用 pip install -U pytest 安装 2、查看 pytest 版本信息 pytest --version 3、pytest 用例的执行规则&#xff1a; ①测试文件以 test_xx.py 命名需要以 test_开头&#xff08;或_test 结尾&#xff09; ②测试类以 Test_开头&#xff0…

QtRO(Qt Remote Objects)分布式对象远程通信

一、什么是QtRO Qt Remote Objects&#xff08;QRO&#xff09;是Qt提供的一种用于实现远程对象通信的机制。 QtRO支持两种类型的通信&#xff1a;RPC&#xff08;远程过程调用&#xff09;和LPC&#xff08;本地进程通信&#xff09;。 RPC&#xff08;远程过程调用&#xf…

智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.骑手优化算法4.实验参数设定5.算法结果6.…

跨平台应用程序开发软件,携RAD Studio 12新版上线

RAD Studio 是一款专为程序员而准备的跨平台应用程序开发软件&#xff0c;内置Delphi和CBuilder这两种开发工具&#xff0c;另外还提供了新的C功能&#xff0c;扩展了对ExtJS的RAD服务器支持&#xff0c;增强了对vcL的高dpi支持&#xff0c;提高了firemonk (FMX)的质量等等&…

C++结合OpenCV:掌握图像基础与处理

本文详细介绍了使用 OpenCV4 进行图像处理的基础知识和操作。内容包括图像的基础概念、色彩空间理解、以及如何在 C 中进行图像读取、显示和基础操作。 1.图像的基本概念与术语 图像表示 在计算机视觉中&#xff0c;图像通常表示为一个二维或三维的数组。二维数组表示灰度图像&…