博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 使用CheckBox实现多选效果
阅读量:6177 次
发布时间:2019-06-21

本文共 2868 字,大约阅读时间需要 9 分钟。

CheckBox:复选框

1.有两种状态:
 选中状态(true),未选中状态(false)
2.属性:
 android:id="@+id/checkbox"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:checked="false"
 android:text="男"

CheckBox的默认android:checked属性为false。

checkBox的OnCheckedChangeListener事件检查勾是否勾选。
样例程序中有3个CheckBox和1个TextView,TextView事实演示了有多少CheckBox被勾选了以及被勾选的CheckBox的名称。

activity_main.xml
package com.example.checkbox;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.TextView;public class MainActivity extends ActionBarActivity {        private CheckBox basketballCheckBox;    private CheckBox footballCheckBox;    private CheckBox pingpongCheckBox;    private boolean[] checkedArray = new boolean[] {
false, false, false}; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); basketballCheckBox = (CheckBox) findViewById(R.id.checkBox1); footballCheckBox = (CheckBox) findViewById(R.id.checkBox2); pingpongCheckBox = (CheckBox) findViewById(R.id.checkBox3); textView = (TextView) findViewById(R.id.textView1); basketballCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { checkedArray[0] = isChecked; textViewResetValue(); } }); footballCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { checkedArray[1] = isChecked; textViewResetValue(); } }); pingpongCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { checkedArray[2] = isChecked; textViewResetValue(); } }); } private void textViewResetValue() { String values = ""; int sumChecked = 0; for (boolean val : checkedArray) if (val == true) sumChecked += 1; if (sumChecked == 0) textView.setText("0 项选择"); else { if (checkedArray[0] == true) values += ",篮球"; if (checkedArray[1] == true) values += ",足球"; if (checkedArray[2] == true) values += ",乒乓球"; values = sumChecked + "项选择:" + values.substring(1); textView.setText(values); } }}
MainActivity.java

效果:

注:Android有一个自己的log记录函数:Log.i()。

转载地址:http://ifzda.baihongyu.com/

你可能感兴趣的文章
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
查看>>
Apache和PHP结合 及 Apache默认虚拟主机
查看>>
添加自定义监控项目配置邮件告警测试告警不发邮件的问题处理
查看>>
solidity智能合约的经典设计模式
查看>>
华为交换网络基础、基本配置、STP/RSTP
查看>>
SpringCloud 微服务 (十七) 容器部署 Docker
查看>>
不定项选择题
查看>>
netty 分析博客
查看>>
Spring Cloud构建微服务架构服务注册与发现
查看>>
BCGControlBar教程:如何将MFC控件的BCGControlBarBCGSuite添加到对话框中
查看>>
深入理解Java8 Lambda表达式
查看>>
Java集合框架面试问题集锦
查看>>
Java每天10道面试题,跟我走,offer有!(六)
查看>>
四种途径提高RabbitMQ传输数据的可靠性(二)
查看>>
c语言实现多态
查看>>
Linux 在 TOP 命令中切换内存的显示单位
查看>>
浏览器的加载与页面性能优化
查看>>
RabbitMQ学习总结(2)——安装、配置与监控
查看>>
Java基础学习总结(5)——多态
查看>>
shell: demo
查看>>