我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android实现ListView控件的多选和全选功能实例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android实现ListView控件的多选和全选功能实例

本文实例讲述了Android实现ListView控件的多选和全选功能。分享给大家供大家参考,具体如下:

主程序代码

MainActivity.Java

package yy.test;import java.util.ArrayList;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.CheckBox;import android.widget.ListAdapter;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {  private ListView listView;  private MyAdapter adapter;  private ArrayList<String> items;  //模拟存储信息的集合  private ArrayList<String> checked; //该集合存储被选中的列表项中的TextView中所显示的字符串  private boolean isMultiple = false; // 记录是否是多选状态,true为是,false不是  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    listView = (ListView) findViewById(R.id.listview);    items = new ArrayList<String>();    items.add("00000");    items.add("11111");    items.add("22222");    items.add("33333");    items.add("44444");    items.add("55555");    items.add("66666");    items.add("77777");    items.add("88888");    items.add("99999");    items.add("aaaaa");    items.add("bbbbb");    items.add("ccccc");    items.add("ddddd");    adapter = new MyAdapter(items,this); //new出自定义的MyAdapter对象    listView.setAdapter(adapter);    listView.setOnItemClickListener(new OnItemClickListener() {      @Override      public void onItemClick(AdapterView<?> arg0, View view, int position,          long arg3) {        if(isMultiple){          CheckBox checkBox = (CheckBox) view.findViewById(R.id.checkbox);          TextView textView = (TextView) view.findViewById(R.id.text);          if(checkBox.isChecked()){            checkBox.setChecked(false);            adapter.checkedMap.put(position, false);            textView.setTextColor(Color.WHITE);            adapter.colorMap.put(position, Color.WHITE);            int index = checked.indexOf(textView.getText()+"");            checked.remove(index);          }else{            checkBox.setChecked(true);            adapter.checkedMap.put(position, true);            textView.setTextColor(Color.RED);            adapter.colorMap.put(position, Color.RED);            checked.add(textView.getText()+"");          }        }      }    });  }  @Override  public boolean onCreateOptionsMenu(Menu menu) {    SubMenu subMenu = menu.addSubMenu("操作");    subMenu.add(0, 1, 0, "多选");    subMenu.add(0, 2, 0, "删除");    subMenu.add(0, 3, 0, "全选");    subMenu.add(0, 4, 0, "取消全选");    return super.onCreateOptionsMenu(menu);  }  @Override  public boolean onOptionsItemSelected(MenuItem item) {    if(item.getItemId()==1){      isMultiple = true;      checked = new ArrayList<String>();      int index = adapter.getCount();      for(int i=0;i<index;i++){        adapter.visibleMap.put(i, CheckBox.VISIBLE);      }      adapter.notifyDataSetChanged();    }else if(item.getItemId()==2){      for(String text : checked){        int index = items.indexOf(text);        items.remove(index);      }      isMultiple = false;      adapter = new MyAdapter(items,MainActivity.this);      listView.setAdapter(adapter);    }else if(item.getItemId()==3){      isMultiple = true;      checked = new ArrayList<String>();      int index = adapter.getCount();      for(int i=0;i<index;i++){        adapter.checkedMap.put(i, true);        adapter.colorMap.put(i, Color.RED);        adapter.visibleMap.put(i, CheckBox.VISIBLE);        View view1 = adapter.getView(i, null, null);        TextView textView = (TextView) view1.findViewById(R.id.text);        textView.setTextColor(Color.RED);                adapter.notifyDataSetChanged();        checked.add(textView.getText()+"");      }    }else if(item.getItemId()==4){      isMultiple = false;      checked = null;      int index = adapter.getCount();      for(int i=0;i<index;i++){        adapter.checkedMap.put(i, false);        adapter.colorMap.put(i, Color.WHITE);        adapter.visibleMap.put(i, CheckBox.INVISIBLE);                adapter.notifyDataSetChanged();      }    }    return super.onOptionsItemSelected(item);  }}

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android实现ListView控件的多选和全选功能实例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android实现ListView控件的多选和全选功能实例

本文实例讲述了Android实现ListView控件的多选和全选功能。分享给大家供大家参考,具体如下:主程序代码MainActivity.Javapackage yy.test;import java.util.ArrayList;impo
2023-05-31

android基于ListView和CheckBox实现多选和全选记录的功能

应用开发中经常会有从数据库中读取数据显示,然后选中多条、全部记录并且删除的需求。在做定制系统联系人的时候也遇到这样的需求,下面写个简单的通过ListView和CheckBox实现多选、全选的例子。下面是具体的代码. 效果如下:MultiSe
2022-06-06

Android ListView实现单选及多选等功能示例

本文实例讲述了Android ListView实现单选及多选等功能的方法。分享给大家供大家参考,具体如下:在项目中也遇到过给ListView的item添加选择功能。比如一个网购APP,有个历史浏览页面,这个页面现点击item单选/多选及全选
2023-05-30

Android listview ExpandableListView实现多选,单选,全选,edittext实现批量输入的实例代码

最近在项目开发中,由于项目的需求要实现一些列表的单选,多选,全选,批量输入之类的功能,其实功能的实现倒不是很复杂,需求中也没有涉及到复杂的动画什么之类,主要是解决列表数据复用的问题,解决好这个就可以了。下面是最近项目中涉及到的一些: lis
2022-06-06

Android checkbox的listView(多选,全选,反选)具体实现方法

布局文件:[html] 代码如下: 2022-06-06

在Android开发中使用 listview ExpandableListView实现多选或单选功能

在Android开发中使用 listview ExpandableListView实现多选或单选功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。listvie
2023-05-31

Android Recyclerview实现多选,单选,全选,反选,批量删除的功能

效果图如下: Recyclerview 实现多选,单选,全选,反选,批量删除的步骤1.在Recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件 2.这里选中的控件没有用checkbox来做,用的是imagev
2023-05-31

Android中ListView绑定CheckBox实现全选增加和删除功能(DEMO)

ListView控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adapter的用法,加了很多的判断等等等等….我们先来看看实现的效果吧!好的,我们新建一个项目LvCheckBox我们事先先把这两
2022-06-06

Android中怎么利用RadioButton控件实现多选一功能

Android中怎么利用RadioButton控件实现多选一功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、将多个RadioButton放在一个RadioGroup里面<
2023-05-30

Android开发中使用ListView 与 CheckBox实现一个多选框功能

Android开发中使用ListView 与 CheckBox实现一个多选框功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。效果:1 单选public class Sin
2023-05-31

Android利用RecyclerView实现全选、置顶和拖拽功能示例

前言今天给大家分享是如何在RecyclerView实现全选,ItemTouchHelper实现侧滑删除,拖拽功能。比较基础。关于RecyclerView的强大,就不多说了。在Android L SDK发布的新API中最有意思的就是Recyc
2023-05-31

Android实现便于批量操作可多选的图片ListView实例

本文实例讲述了Android实现便于批量操作可多选的图片ListView。分享给大家供大家参考,具体如下: 之前项目需要实现一个可多选的图片列表,用户选中一到多张图片后,批量上传。但是网上有可多选普通列表的代码、也有单纯图片列表的代码,却没
2022-06-06

Android实现滑动选择控件实例代码

前言 最近做了个滑动选择的小控件,拿出来给大家分享一下,先上图 运行效果实现步骤 这里分解为3个动作:Down、Move、Up来进行分析,博主文采不好,大家直接看流程图吧!!代码分析 前置知识 1、这个地方使用的是RecyclerView的
2022-06-06

Android的ListView多选删除操作实现代码

最近尝试做了个listview的多选demo,网上看其他人的例子感觉不是很难,自己动手做了下,各种细节问题,没那么简单啊。既然做了,简单写个笔记记录下。 练手demo,命名笔记乱,不要介意哦。 主界面布局activity_main.xml
2022-06-06

C#中如何实现listbox的全选,全部选,反选功能

这篇文章将为大家详细讲解有关C#中如何实现listbox的全选,全部选,反选功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。c# listbox的全选,全不选,反选方法//全选方法一 p
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录