Android-----CheckBox复选使用(实现简单选餐)
直接上代码:
xml布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.hs.example.exampleapplication.CheckBoxMain"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"> <CheckBox
android:id="@+id/chk1"
android:layout_width="0dp"
android:layout_weight=""
android:layout_height="wrap_content"
android:text="汉堡"/> <CheckBox
android:id="@+id/chk2"
android:layout_width="0dp"
android:layout_weight=""
android:layout_height="wrap_content"
android:text="薯条"/> <CheckBox
android:id="@+id/chk3"
android:layout_width="0dp"
android:layout_weight=""
android:layout_height="wrap_content"
android:text="鸡翅"/> </LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"> <CheckBox
android:id="@+id/chk4"
android:layout_width="0dp"
android:layout_weight=""
android:layout_height="wrap_content"
android:text="炸鸡"/> <CheckBox
android:id="@+id/chk5"
android:layout_width="0dp"
android:layout_weight=""
android:layout_height="wrap_content"
android:text="蛋挞"/> <CheckBox
android:id="@+id/chk6"
android:layout_width="0dp"
android:layout_weight=""
android:layout_height="wrap_content"
android:text="鸡块"/> </LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"> <CheckBox
android:id="@+id/chk7"
android:layout_width="0dp"
android:layout_weight=""
android:layout_height="wrap_content"
android:text="可乐"/> <CheckBox
android:id="@+id/chk8"
android:layout_width="0dp"
android:layout_weight=""
android:layout_height="wrap_content"
android:text="奶茶"/> <CheckBox
android:id="@+id/chk9"
android:layout_width="0dp"
android:layout_weight=""
android:layout_height="wrap_content"
android:text="咖啡"/> </LinearLayout> <Button
android:id="@+id/btn_buy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="你的选餐如下:"/> <ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"> <TextView
android:id="@+id/food"
android:layout_width="match_parent"
android:layout_height="wrap_content" /> </ScrollView> </LinearLayout>
逻辑代码如下:
public class CheckBoxMain extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener{
ArrayList<CompoundButton> selected = new ArrayList<>();//用来存储已选取项的集合对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_checkbox_main);
/**【所有复选框id数组】**/
int chk_id [] = {R.id.chk1 ,R.id.chk2 ,R.id.chk3, R.id.chk4,
R.id.chk5 , R.id.chk6 , R.id.chk7 , R.id.chk8 , R.id.chk9};
/**【循环为所有复选框注册监听事件】**/
for(int id : chk_id){
CheckBox chk = findViewById(id);
chk.setOnCheckedChangeListener(this);
}
}
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if(isChecked){ //选项被选取
selected.add(compoundButton); //添加到集合中
}else { //选项被取消
selected.remove(compoundButton);//从集合中取消
}
String msg = "";
for(CompoundButton chk : selected){
msg += chk.getText()+"\t\t\t"+" x 1 "+"\n";
}
if(msg.length()== ){
msg = "请点餐!";
}
TextView food = this.findViewById(R.id.food);
food.setTextSize();
food.setText(msg);
}
}
运行效果:

感兴趣的可以在这个基础上完善点餐的数量,单价,总价等功能。
Android-----CheckBox复选使用(实现简单选餐)的更多相关文章
- 纯css3简单实用的checkbox复选框和radio单选框
昨天为大家分享了一款很炫的checkbox复选框和radio单选框,今天再给大家带来一款简单实用的checkbox复选框和radio单选框.界面清淅.舒服.先给大家来张效果图: 在线预览 源码下载 ...
- 03 CheckBox 复选框
五 CheckBox 复选框 >概念:可以从一个集合选项中选择一个或者多个选项 >属性:checked 选择状态 >使用: > ...
- checkbox复选框的一些深入研究与理解
一.一开始的唠叨最近忙于开发,自淫于项目的一步步完工,心浮躁了.舍近而求远,兵家之大忌.我是不是应该着眼于眼前的东西,好好的静下心来,超过一般人的沉静与沉浸,研究最基本的东西呢?这番思考,让我找到了一 ...
- 纯css3实现的超炫checkbox复选框和radio单选框
之前为大家分享了好多css3实现的按钮.今天要为大家分享的是纯css3实现的checkbox复选框和radio单选框,效果超级炫.先让我们看看图吧! 在线预览 源码下载 这个实例完全由css3实现 ...
- CheckBox复选框控件
CheckBox复选框控件 一.简介 1. 2.类结构图 二.CheckBox复选框控件使用方法 这里是使用java代码在LinearLayout里面添加控件 1.新建LinearLayout布局 2 ...
- 【转载】checkbox复选框的一些深入研究与理解
转载来自:原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com] 一.一开始的唠叨最近忙于开发,自淫于项目的一步步完工,心浮躁了.舍近而求远,兵家之大忌. ...
- css input checkbox复选框控件 样式美化的多种方案
checkbox复选框可能是网站中常用的html元素,但大多数人并不满意它的默认样式,这篇文章就讲讲如何实现input checkbox复选框控件 样式美化效果. 资源网站大全 https://55w ...
- CheckBox复选框全选以及获取值
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- php获取checkbox复选框的内容
php获取checkbox复选框的内容 由于checkbox属性,所有必须把checkbox复选择框的名字设置为一个如果checkbox[],php才能读取,以数据形式,否则不能正确的读取chec ...
- jquery checkbox 复选框多次点击判断选中状态,以及全选/取消的代码示例
2015年12月21日 10:52:51 星期一 目标, 点击当前的checbox, 判断点击后当前checkbox是否是选中状态. html: <input type="checkb ...
随机推荐
- 4.通过HttpMethod执行不同的服务方法
package Services import ( "context" "fmt" "github.com/go-kit/kit/endpoint&q ...
- scrapy-模块
爬虫模块:beautifulsoup4 scrapy_splash: pip install scrapy_splash scrapy_splash模块,与selenium类似,用来获取js渲染后的h ...
- ABP 报错 System.InvalidOperationException: 实例失败。
错误:System.InvalidOperationException: 实例失败. 解决:数据库链接写错了,斜杠的问题 core:两根斜杠 .net framework:一根斜杠 core的写法: ...
- hdu5111 树链剖分,主席树
hdu5111 链接 hdu 思路 先考虑序列上如何解决. 1 3 2 5 4 1 2 4 5 3 这个序列变成 1 2 3 4 5 1 3 5 5 2 是对答案没有影响的(显然). 然后查询操作\( ...
- dfs與bfs常用模板
基本遍歷: //dfs void dfs(int x) { v[x]=1; for(int i=head[x];i;i=next[i]) { int y=ver[i]; if(v[y]) contin ...
- [cf113d]Museum
传送门 Solution 设一个状态为 \((x,y)\) 表示两人在的位置,求出每个状态期望出现的次数 设一个状态为 \(u\) , \(x_u^0=[u==(a,b)]\) 所以一个状态出现的次数 ...
- Centos目录及其常用处理命令
1.Centos之常见目录作用介绍[1] 我们先切换到系统根目录 / 看看根目录下有哪些目录 [root@localhost ~]# cd / [root@localhost /]# ls bin ...
- 【洛谷】P1022 计算器的改良-全AC题解
#include <iostream> #include <cstring> #include <iomanip> using namespace std; int ...
- day58——模板继承、组件、自定义标签和过滤器、inclusion_tag、静态文件配置、url别名和反向解析、url命名空间
day58 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承它使用) 2. 在母版中定义block块(可以定义多个,整个页面任意位置) {% block co ...
- Java随堂笔记一
今天开始了Java的正式复习,因为有两三年没有接触Java了,所以打算开始从头复习. 下面使课堂的一些随堂笔记,如果有遗忘,我可以随时翻阅该博客. public static void main(St ...