直接上代码:

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复选使用(实现简单选餐)的更多相关文章

  1. 纯css3简单实用的checkbox复选框和radio单选框

    昨天为大家分享了一款很炫的checkbox复选框和radio单选框,今天再给大家带来一款简单实用的checkbox复选框和radio单选框.界面清淅.舒服.先给大家来张效果图: 在线预览   源码下载 ...

  2. 03 CheckBox 复选框

    五  CheckBox  复选框     >概念:可以从一个集合选项中选择一个或者多个选项     >属性:checked   选择状态     >使用:           > ...

  3. checkbox复选框的一些深入研究与理解

    一.一开始的唠叨最近忙于开发,自淫于项目的一步步完工,心浮躁了.舍近而求远,兵家之大忌.我是不是应该着眼于眼前的东西,好好的静下心来,超过一般人的沉静与沉浸,研究最基本的东西呢?这番思考,让我找到了一 ...

  4. 纯css3实现的超炫checkbox复选框和radio单选框

    之前为大家分享了好多css3实现的按钮.今天要为大家分享的是纯css3实现的checkbox复选框和radio单选框,效果超级炫.先让我们看看图吧! 在线预览   源码下载 这个实例完全由css3实现 ...

  5. CheckBox复选框控件

    CheckBox复选框控件 一.简介 1. 2.类结构图 二.CheckBox复选框控件使用方法 这里是使用java代码在LinearLayout里面添加控件 1.新建LinearLayout布局 2 ...

  6. 【转载】checkbox复选框的一些深入研究与理解

    转载来自:原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com] 一.一开始的唠叨最近忙于开发,自淫于项目的一步步完工,心浮躁了.舍近而求远,兵家之大忌. ...

  7. css input checkbox复选框控件 样式美化的多种方案

    checkbox复选框可能是网站中常用的html元素,但大多数人并不满意它的默认样式,这篇文章就讲讲如何实现input checkbox复选框控件 样式美化效果. 资源网站大全 https://55w ...

  8. CheckBox复选框全选以及获取值

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. php获取checkbox复选框的内容

    php获取checkbox复选框的内容   由于checkbox属性,所有必须把checkbox复选择框的名字设置为一个如果checkbox[],php才能读取,以数据形式,否则不能正确的读取chec ...

  10. jquery checkbox 复选框多次点击判断选中状态,以及全选/取消的代码示例

    2015年12月21日 10:52:51 星期一 目标, 点击当前的checbox, 判断点击后当前checkbox是否是选中状态. html: <input type="checkb ...

随机推荐

  1. HTML基础三-JS

    一.JAVA Script 1.1 基本用法 HTML中的三把利器的JS 又称为JavaScript,看着好像和Java有点联系,实际上他和java半毛钱关系都没有,JavaScript和我们学习的P ...

  2. 【Mybatis】拼接表名

  3. [RN] React Native 让 Flatlist 支持 选中多个值,并获取所选择的值

    React Native 让 Flatlist  支持  选中多个值,并获取所选择的值 实现效果如下: 实现代码: import React, {Component} from 'react'; im ...

  4. 洛谷 P1816 忠诚 题解

    P1816 忠诚 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财 ...

  5. 软件工程卷1 抽象与建模 (Dines Bjorner 著)

    I 开篇 1. 绪论 II 离散数学 2. 数 (已看) 3. 集合 4. 笛卡尔 5. 类型 6. 函数 7. λ演算 8. 代数 9. 数理逻辑 III 简单RSL 10. RSL中的原子类型和值 ...

  6. django数据处理

    目录 django积累 连接数据库: 模板 后台管理 功能扩展: 日志打印: django积累 连接数据库: 连接数据库 : 1.创建数据库 create database oa default ch ...

  7. winform自定义分页控件

    1.控件代码: public partial class PagerControl : UserControl { #region 构造函数 public PagerControl() { Initi ...

  8. 关于深度学习框架 TensorFlow、Theano 和 Keras

    [TensorFlow] ——( https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/) 1.TensorFlow是啥 ...

  9. 框架Ray

    高性能最终一致性框架Ray之基本概念原理 一.Actor介绍 Actor是一种并发模型,是共享内存并发模型的替代方案. 共享内存模型的缺点: 共享内存模型使用各种各样的锁来解决状态竞争问题,性能低下且 ...

  10. wraps补充

    ''' wraps: (了解) 是一个修复工具,修复的是被装饰对象的空间. from functools import wraps ''' from functools import wraps de ...