- 浏览: 437496 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (133)
- 内容 (5)
- H2数据库 Server服务器 (0)
- H2数据库 Server服务器 H2+JPA (2)
- JSF (10)
- TA测试 (1)
- Error Solution (1)
- WEB端测试 (2)
- JAVA API (0)
- WEB端自动化测试 (14)
- BAT文件 (1)
- javascript (0)
- Jenkins (5)
- Nexus (1)
- 操作系统 (3)
- OFBIZ (2)
- spingmvc (1)
- Hibernate3 (4)
- ubuntu (1)
- apache (2)
- Cisco (0)
- JBoss (2)
- SecureCRT (1)
- mysql (0)
- android (45)
- PHP (4)
- android studio (4)
- nodejs (1)
- iOS (0)
- JPA (1)
- gradle (0)
- Android端自动化测试 (2)
- okhttp3 (1)
- Java (2)
- mybatis (1)
- kettle (0)
最新评论
-
紫瑶诗书:
Android自动化测试实战(Java篇+主流工具+框架+脚本 ...
使用Robotium进行android自动化测试 -
wxynxyo:
上善若水_Happy 写道你好,想请教下icon的css是怎么 ...
Primefaces3之p:tree -
上善若水_Happy:
你好,想请教下icon的css是怎么写的?
Primefaces3之p:tree -
weijs:
谢谢,这个文章解决了我的疑问
Jenkins 部署项目到远端的TOMCAT下 -
ljl961890233bear:
<bean id="st ...
springmvc 发送ajax中文乱码的几种解决办法
使用LISTVIEW会遇到单选和多选的情况:
前提:LISTVIEW和ADAPTER(建议用自己写的,方便控制)
一.单选
二.多选
填充数据的时候,数组初始化,并调用父类刷新
选中数据的时候,将KEY-VALUE放进数组,再调用父类刷新
另外的一种办法: 使用一个MAP存放选中的内容,然后获取flag再标记,这样会出现一个问题,软键盘的消失会重新绘制ADAPTER,导致选中的丢失,故多选的办法我觉得要好点
前提:LISTVIEW和ADAPTER(建议用自己写的,方便控制)
一.单选
/** ADAPTER部分 */ private int selectedIndex = -1; //定义一个标记 //适合单选 public void setSelectedIndex(int ind) { selectedIndex = ind; notifyDataSetChanged(); } @Override public View getView(int position, View convertView, ViewGroup parent) { ............ if (selectedIndex == position) { flag.setVisibility(View.VISIBLE); } else { flag.setVisibility(View.INVISIBLE); } ......... } /** ACTIVITY 或 Fragment */ adapter.setSelectedIndex(position); adapter.notifyDataSetChanged();
二.多选
填充数据的时候,数组初始化,并调用父类刷新
选中数据的时候,将KEY-VALUE放进数组,再调用父类刷新
/** ADAPTER部分 */ private SparseArray<Integer> sparseArray;//定义一个数组 /** * 重写:用于列表更新 * 这样就可以清理掉已选的标签 */ @Override public void notifyDataSetChanged() { this.sparseArray = new SparseArray<Integer>(); super.notifyDataSetChanged(); } /** * 适合多选 * 调用父类的notifyDataSetChanged 去处理显示 * * @param position */ public void setMultiSelected(int position) { if (sparseArray.get(position) != null) { //在里面 清理 sparseArray.delete(position); } else { sparseArray.append(position, position); } super.notifyDataSetChanged(); } @Override public View getView(int position, View convertView, ViewGroup parent) { ............ if (sparseArray.get(houseInfo.houseId) != null) { flag.setVisibility(View.VISIBLE); } else { flag.setVisibility(View.INVISIBLE); } .......... } /** ACTIVITY 或 Fragment */ //数据刷新什么的使用 adapter.notifyDataSetChanged(); //选中什么的使用 adapter.setMultiSelected(houseInfo.houseId);
另外的一种办法: 使用一个MAP存放选中的内容,然后获取flag再标记,这样会出现一个问题,软键盘的消失会重新绘制ADAPTER,导致选中的丢失,故多选的办法我觉得要好点
xxxxListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { Object object= (object) adapterView.getAdapter().getItem(position); View flag = view.findViewById(R.id.flag); if (checkMap.get(object.id) != null) { flag.setVisibility(View.INVISIBLE); checkMap.remove(object.id); } else { flag.setVisibility(View.VISIBLE); checkMap.append(object.id, object); } } });
发表评论
-
如何自己做一个Launcher App
2017-05-18 09:27 0自定义一个自己的Launcher App,并在这个App上控制 ... -
android CPU架构和对应的libs
2017-05-16 17:47 823官网内容: 有如上的几种架构方式,不同的手机使用不 ... -
如何屏蔽HOME,MENU键
2017-05-12 13:40 1010如何屏蔽HOME,MENU键,找了很多答案,下面就是几种办法 ... -
EditText光标随着输入移动
2017-04-26 09:35 1650当前需求如下:点击一个按钮,弹出自定义的键盘,同时输入框内 ... -
调用DialogFragment出现的Can not perform this action after onSaveInstanceState
2017-04-24 09:13 1898代码里面用如下的业务场景:进页面并判断是否签到,没有签到就跳转 ... -
使用自定义的Launcher.apk替代系统的
2017-04-23 08:54 9751.首先使用adb shell命令 ... -
Android避免重复提交的问题
2017-04-06 12:08 625关于某些控件,多次点击导致的重复提交问题,我汇总如下: 1. ... -
使用Retrofit2.0+spingmvc上传图片和参数
2017-03-03 08:58 854如题,使用SPINGMVC接收数据 服务端接口如下 ... -
百度定位 WIFI正常 电信3G出错;Error Code:62
2016-12-22 09:29 1055使用一款4.3系统的手机,在开发过程中发现如下的问题 1.W ... -
关于CPU ABI的一些零碎
2016-08-17 15:18 621首先是一篇文章 关于SO文件你应该知道的 http://ph0 ... -
防止Activity被销毁以后fragment依然存在的问题
2016-08-11 15:49 0App被切换到后台以后,当前的Activity的生命周期 ... -
使用PullToRefreshListView下拉和加载代码
2016-08-05 10:55 1266//三个参数 private int pageNo = ... -
Android连接服务端出现中文乱码的问题
2016-08-01 15:46 539这个是常见问题,我给出我的排查和解决办法。 前提条件 ... -
TextInputLayout的使用
2016-06-14 14:39 998使用AS发现模板下的 ... -
Android项目代码Inspect Code的各种问题以及集合
2016-05-31 10:22 0一个android项目,使用inspect code,居 ... -
使用Apollo And Mosquitto 作为MQTT Server
2016-05-13 09:56 8942始于环信的消息推送,了解了下目前的几种推送模式,XMP ... -
环信项目分析之2
2016-05-10 14:56 832第二篇主要介绍一下服务端如何与环信进行交互, 环信的官网 ... -
Jersy之路1
2016-05-09 22:00 537关于Jersey2.X 就不巴拉巴拉说这么多废话了。 ... -
环信项目分析之1
2016-05-09 21:32 723系列文章主要是用于分析环信的APP,消息推送等功能。 基 ... -
Okhttp3 学习历程之一
2016-04-27 10:43 1673最近想把一个简单的安卓APP重写一下,写的过程中就涉及到 ...
相关推荐
(Android)五分钟让你轻松学会ListView单选和多选功能
完美解决ListView单选和多选的问题
ListView 实现单选/多选的demo例子,欢迎指正
实现listView的单选和多选,要单选或者多选,只需要在OnItemClickListener出控制即可
ListView中有一个属性:android:...* singleChoice 单选 * multipleChoice 多选 * none 默认情况,没有选中效果 在ListView的布局中设置了android:choiceMode属性后,item布局需要实现checkable,才有选中效果。
ListView实现单选多选.zip ListView实现单选多选.zip ListView实现单选多选.zip ListView实现单选多选.zip ListView实现单选多选.zip
最简单的ListView中使用单选和多选的效果
ListView 列表 单级单选 单级多选,多级单选,多级多选效果展示
实现listview 单选 多选 反选 全选功能.zip
实现了ListView 的单选与多选, 切换比较方便,GridView也是相同原理,只需要换控件就行
Android三级目录、ListView单选/GridView单选、ListView多选/GridView多选。选中后背景变色,字体变色。
自定义Dialog里listview的单选、多选
listview中的单选按钮多选按钮,解决复用问题,很好用的,
主要介绍了Android中ListView + CheckBox实现单选、多选效果,非常不错,具有参考借鉴价值,需要的朋友可以参考下
Android流式布局,支持点击、单选、多选等,适合用于产品标签等,用法采用Adapter模式,和ListView、GridView用法一样!2016/6/26号新添加初始化标签功能,使用非常简单,只要你的Adapter实现OnInitSelectedPosition...
listview 选择器的使用
真正可用的,无误的,不存在选择异常的android listview与checkbox结合的源码,具有单选,多选,全选,取消全选,删除,单击选择,显示选择结果功能。
listview多选与单选模式demo 可以进行单选和多选模式切换,一个小demo,请多多指教。
LIstView的单选和多选操作
android ListView+CheckBox,单选、多选、侧滑目录等功能