直接上代码:

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. qhclass

    http://www.qhclass.com/classroom/62/courses

  2. Pandas | 10 排序

    Pandas有两种排序方式,它们分别是 - 按标签 按实际值 import pandas as pd import numpy as np df=pd.DataFrame(np.random.rand ...

  3. Generator生成器函数执行过程的理解

    一个最基本的Generator函数格式如下,函数体内部要使用yield修饰符则必须在函数名前加上*号 ; function *testYield(x){ console.log('before yie ...

  4. shell脚本显示字体颜色

    shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: ec ...

  5. ROS+gre over ipv6,在ipv6的基础上建立GRE隧道

    感谢群众大神 @镜花水月全程技术支持.感谢! 环境: 1.阿里云华北5,申请ipv6测试,申请ECS带ipv6公网ip 2.为了便于测试便捷,在vultr创建2.5美元的vps,带ipv6 对了,测试 ...

  6. ReentrantLock源码简析

    概念 ReentrantLock,可重入锁.在多线程中,可以通过加锁保证线程安全. 加锁和解锁 加锁: public void lock() { sync.lock(); } 解锁 public vo ...

  7. python 本地时间+8小时

    current_time = (datetime.datetime.now() + datetime.timedelta(hours=8)).strftime('%Y-%m-%d %H:%M:%S')

  8. html5 audio标签微信部分苹果手机不能自动播放音乐终极解决方案

    html5 audio标签微信部分苹果手机不能自动播放音乐终极解决方案 大家都知道需要在点击时候后 播放 ps:如果点击ajax 回来播放也不行,必须点击立即播放 要背景自动播放只能采取下面方案< ...

  9. nginx返回file not found原因

    nginx返回file not found原因1 确实没有这个文件2 没有权限访问这个网站目录!!!

  10. [原创]开源跨平台大型网络端口扫描器K8PortScan(支持批量A段/B段/C段/IP列表)

    0x000 K8PortScan Python版Cscan端口扫描器 Code: https://github.com/k8gege/K8PortScan K8portScan 1.0 Date: 2 ...