ListView + CheckBox (全选,反选,取消)

实现勾选一个CheckBox,ListView被全选 勾选一个CheckBox,ListView里面的每个CheckBox被勾选,只要ListView里的一个CheckBox没有被勾选,上面的CheckBox就会没被勾选 立即下载

Xml布局

<strong><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" >

    <ListView
        android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btn1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="全选" />

        <Button
            android:id="@+id/btn2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="取消" />

        <Button
            android:id="@+id/btn3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="反选" />
    </LinearLayout>

</LinearLayout></strong>

Main

<strong>package com.bw.list_checkbox;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import com.bw.adapter.Myadapter;

public class MainActivity extends Activity {

	private ListView lv;
	private Button btn2, btn1, btn3;
	private List<String> list;
	private Myadapter adapter;
	private int nuber = 0;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		lv = (ListView) findViewById(R.id.lv);
		btn1 = (Button) findViewById(R.id.btn1);
		btn2 = (Button) findViewById(R.id.btn2);
		btn3 = (Button) findViewById(R.id.btn3);

		list = new ArrayList<String>();

		initDate();

		adapter = new Myadapter(this, list);
		lv.setAdapter(adapter);

		btn1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				for (int i = 0; i < list.size(); i++) {
					boolean[] checks = Myadapter.checks;
					if (checks[i] == false) {
						checks[i] = true;
					}
				}
				nuber = list.size();
				Change();
			}
		});
		btn2.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				for (int i = 0; i < list.size(); i++) {
					boolean[] checks = Myadapter.checks;
					if (checks[i] == true) {
						checks[i] = false;
					}
				}
				nuber = list.size();
				Change();
			}
		});
		btn3.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				for (int k = 0; k < list.size(); k++) {
					boolean[] checks = Myadapter.checks;
					if (checks[k] == true) {
						checks[k] = false;
						nuber--;
					} else {
						checks[k] = true;
						nuber++;
					}
				}
				Change();
			}
		});
	}

	private void initDate() {
		for (int i = 0; i < 15; i++) {
			list.add("data" + i);
		}
	}

	public void Change() {
		adapter.notifyDataSetChanged();
		Toast.makeText(MainActivity.this, "已选择" + nuber + "项",
				Toast.LENGTH_SHORT).show();
	}

}
</strong>

Adapter


<strong>package com.bw.adapter;

import java.util.List;
import com.bw.list_checkbox.R;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;

public class Myadapter extends BaseAdapter {

	private Context contextx;
	private List<String> list;
	public static boolean[] checks;;

	public Myadapter(Context context, List<String> list) {
		this.contextx = context;
		this.list = list;
		checks = new boolean[list.size()];
	}

	@Override
	public int getCount() {
		return list.size();
	}

	@Override
	public Object getItem(int arg0) {
		return null;
	}

	@Override
	public long getItemId(int arg0) {
		return 0;
	}

	@Override
	public View getView(final int position, View convertView, ViewGroup parent) {
		Haodler handler;
		if (convertView == null) {
			handler = new Haodler();
			convertView = View.inflate(contextx, R.layout.list_adapter, null);
			handler.text = (TextView) convertView.findViewById(R.id.adapter_text);
			handler.cb = (CheckBox) convertView.findViewById(R.id.adapter_cb);
			convertView.setTag(handler);
		}
		handler = (Haodler) convertView.getTag();
		handler.text.setText(list.get(position));

		final int pos = position;
		handler.cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
					@Override
					public void onCheckedChanged(CompoundButton buttonView,
							boolean isChecked) {

						checks[pos] = isChecked;
					}
				});
		handler.cb.setChecked(checks[pos]);
		return convertView;
	}

	class Haodler {
		TextView text;
		public CheckBox cb;
	}

}
</strong>

android listview和checkbox联合使用选中和取消 android listview和checkbox联合使用,选中和取消 立即下载

相关推荐

TC3xx芯片中断配置避坑指南:从AUTOSAR Davinci配置到SRN地址计算的完整流程

本文详细解析了英飞凌TC3xx芯片的中断配置流程,从AUTOSAR Davinci工具链到硬件调试的全链路指南。重点介绍了中断路由(IR)模块、服务请求节点(SRN)和中断控制单元(ICU)的配置技巧,帮助开发者避开常见陷阱,优化中断性能。

weixin_30628801的博客 411

关于listview的全选、反选、取消、删除等操作

一般listview的每个item都有点击事件,一个item一个点击事件是没有问题的。 当一个item中出现多个点击效果时,并且还要保留item的点击效果,我们该怎么处理呢? 这时我们需要用到这个属性(一般写在item的布局上) 这个属性的作用就是:阻止焦点向子控件传递。 android:descendantFocusability="blocksDescendants" 单个控件时使...

Welcome 1324

GD32F303驱动WS2812B灯带:用TIMER+PWM+DMA解放CPU,实现流畅灯效(附完整代码)

本文详细介绍了基于GD32F303的TIMER+PWM+DMA全自动控制方案,用于高效驱动WS2812B灯带。通过硬件外设协同工作,该方案不仅解放了CPU资源,还能实现复杂的灯光效果,如渐变、流水等。文章提供了完整的代码实现和性能优化技巧,适合嵌入式开发者参考。

weixin_42561143的博客 379

listview条目全选、取消、单选

activity_main.xml布局文件<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="m

Lan_show的博客 567

Gemini Enterprise免费试用攻略:解锁企业级AI平台的隐藏技巧与避坑指南

本文详细介绍了Gemini Enterprise免费试用的全流程攻略,包括注册优化、团队协作、资源管理和典型应用场景。通过解锁企业级AI平台的核心功能如Gemini 3.0 Pro模型和Nano Banana图像生成系统,帮助企业高效评估AI与业务的契合度。文章还提供了安全合规与数据管理的实用建议,确保试用过程顺畅无忧。

weixin_29233857的博客 657

别再只盯着GPS了!手把手教你用Python仿真UWB定位,30厘米精度是怎么算出来的?

本文详细解析了UWB(超宽带)室内定位技术的原理与实现,通过Python代码演示如何从三边测量法到实现30厘米精度的定位。文章涵盖了UWB的核心数学模型、Python仿真环境搭建、误差分析及优化策略,为开发者提供了实用的技术指南和应用场景。

weixin_26873711的博客 252

VBA学习(63):Excel VBA 数据分析展示/ListView控件/Combox组合框控件/CheckBox复选框控件/科目汇总表

由于原来的过程中,有On Error Resume Next语句,在运行的时候就没有报错,后来在新的UpdateData过程中,没有加这条语句,它就报错了。这里我觉得值得注意的是,我们要善于发现数据的规律,而且我们在设计数据的时候,要保持相对一致性,比如科目编码和科目名称的连接,我们中间统一用“_",诸如此类,我就不多啰嗦了,大家自己摸索、体会吧。添加了一个CheckBox复选框控件CkbLevelOne,Caption改为“一级科目",如果勾选了,则查询一级科目汇总,否则查询明细科目汇总。

nianfen的博客 1579

USB_TYPE-C 母座电路设计

本文详细介绍了USB Type-C接口(C2765186)的电路设计要点,重点解析了电源、识别和数据三部分的关键连接方案。电源部分需并联VBUS和GND引脚并加宽走线以承载3A电流;识别部分必须为CC1/CC2引脚配置5.1kΩ±1%精度的下拉电阻,这是触发PD充电的核心条件;数据部分通过短接正反插引脚实现盲插功能。文档还提供了完整的引脚对照表,并强调PCB布局需注意ESD防护、差分走线阻抗控制等要点,为Type-C接口设计提供了实用指导。

在读研究生,FPGA电路设计与功能开发。 582

Win32中ListView判断是否选中某行checkBoxs

ListView_GetCheckState宏 确定是否选择了列表视图控件中的项。这应该仅用于具有LVS_EX_CHECKBOXES样式的列表视图控件 。 句法 BOOL ListView_GetCheckState( HWND hwndLV, UINT iIndex ); 参数 hwndLV 类型:HWND 列表视图控件的句柄。 iIndex 输入:UINT 要检索检查状态的项目的索引。 返回值...

hu421160052的博客 2054

python爬虫项目(一百九十八):电商平台用户行为数据分析与推荐系统、爬取电商平台用户行为数据

本文详细介绍了如何通过爬虫技术抓取电商平台的用户行为数据,并结合数据分析技术,构建一个简单的推荐系统。使用Selenium模拟用户操作抓取动态网页数据,并通过API接口直接获取用户行为数据,能够为后续的用户行为分析提供基础数据。我们结合了基于用户协同过滤、基于商品协同过滤和矩阵分解等方法,构建了不同的推荐系统。实际应用中,可以进一步优化推荐算法,利用更复杂的深度学习技术和更高效的数据处理方法,提升推荐的准确性和个性化程度。

斌擎科技 2361

多物理场光学仿真软件:COMSOL_(10).激光器与谐振腔仿真

定义Nd:YAG晶体的材料属性% 折射率% 吸收系数% 发射截面% 定义光泵浦源% 泵浦光波长% 泵浦光强度% 泵浦光方向% 定义全反射镜% 选择边界% 完美电导体边界条件% 定义部分反射镜% 选择边界% 反射率边界条件% 反射率通过 COMSOL 对激光器和光学谐振腔进行仿真,可以全面评估激光器的性能,包括输出功率、效率、稳定性和模式选择等。这些仿真结果为激光器的设计和优化提供了重要的参考依据。

kkchenjj的博客 1648

c语言 listview,win32 ListView 部分用法总结

现在编程慢慢的抛弃了黑框,喜欢用界面编程。前几天想起来大学的时候C语言做的学生信息管理系统。 突然兴趣来了,用 win32 做了界面来完成当年的编程,做了简化。 效果图如下:接下来, 我就总结listView的一点基本用法:1. ListView 初始化:(选择 view 为 report)1.1 给list控件添加列标题,设置网格线风格 。在WM_INITDIALOG 消息里面做如下处理:Lis...

weixin_29374899的博客 827

Open3D (C++) 泊松重建【2025最新版】

使用C++版本的Open3D实现点云的泊松重建

点云侠的博客 3073

android 实现ListView嵌套Checkbox实现真正的多选、全选、反选、取消

android 实现ListView嵌套Checkbox实现真正的多选、全选、反选、取消        我们在开发APP的时候,很多情况下会使用到ListView嵌套CheckBox的情况,例如购物车选择商品的情况,其实很多人要说这个其实很简单了,并没有那么复杂,事实上并非如此,我们在使用ListView嵌套CheckBox复选框的时候会出现很多问题,接下来我将用一篇博客来说明这些问题,给大家一些...

MrZhao_PerfectCode的博客 910

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

android listview 自定义checkbox,android--实现ListView上的CheckBox全选、取消选择、反选功能...

效果图如下:1、main.xmlencoding="utf-8"?>>/>>/>2、listviewitem.xmlencoding="utf-8"?>>/>3、MyAdapter.javapackage com.example.checkboxactivity;import java.util.ArrayList;import java.uti...

weixin_42377742的博客 323

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

实现listview中checkbox的多选与记录

android UI进阶之实现listview中checkbox的多选与记录 今天继续和大家分享涉及到listview的内容。在很多时候,我们会用到listview和checkbox配合来提供给用户一些选择操作。比如在一个清单页面,我们需要记录用户勾选了哪些条目。这个的实现并不太难,但是有很多朋友来问我如何实现,他们有遇到各种各样的问题,这里就一并写出来和大家一起分享。 ListView的

wangjia55的专栏 4万+

android listview 自定义checkbox,Android checkbox的listView(多选,全选,反选)具体实现方法...

布局文件:[html]复制代码 代码如下:android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="horizontal" >android:id="@+id/tv"android:layout_width="fill_parent"android:layout_heig...

weixin_39967120的博客 202

完美解决Android在listview添加checkbox实现单选多选操作问题

搬家后的博客链接: IT客栈 www.itkezhan.org 在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作。表面上看上去只是改变checkbox那么简单,然而实际开发中,实现起来并不是那么得心应手。尤其当listview比较多(比如屏幕最多只能显示10个item,但总共有12个item,也就是说listview的item数大

failure01的专栏 1万+

android UI进阶之实现listview中checkbox的多选与记录

今天继续和大家分享涉及到listview的内容。在很多时候,我们会用到listview和checkbox配合来提供给用户一些选择操作。比如在一个清单页面,我们需要记录用户勾选了哪些条目。这个的实现并不太难,但是有很多朋友来问我如何实现,他们有遇到各种各样的问题,这里就一并写出来和大家一起分享。 ListView的操作就一定会涉及到item和Adapter,我们还是先来实现这部分内容。

huluhong的博客 1150

Android 带checkbox的listView 实现多选,全选,反选

Demo地址(0分资源):http://download.youkuaiyun.com/detail/onlyonecoder/5154352 由于listview的一些特性,刚开始写这种需求的功能的时候都会碰到一些问题,重点就是存储每个checkbox的状态值,在这里分享出了完美解决方法: 布局文件: <RelativeLayout xmlns:android

独自等待 4万+

Android项目之——UI进段实现listview中checkbox多选与反选

今天继续和大家分享涉及到listview的内容。在很多时候,我们会用到 listview和checkbox配合来提供给用户一些选择操作。比如在一个清单页面,我们需要记录用户勾选了哪些条目。这个的实现并不太难,但是有很 多朋友来问我如何实现,他们有遇到各种各样的问题,这里就一并写出来和大家一起分享。 ListView的操作就一定会涉及到item和Adapter,我们还是先来实现这部分内容。 首先

Coder 2231

android中ListView添加CheckBox控件实现选择

android中ListView添加CheckBox控件,类似购物车功能经常需要这种功能,全选,取消已选等等,下面这个程序是参考网上另一篇博客写出来的。该程序实现功能,全选,反选,取消已选,点击每一行选择。 效果图如下: 首先完成布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

tan313的专栏 1万+
上一篇: Volley
下一篇: 多条目布局
有志青年L
博客等级 码龄10年 30粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值