记一个SwipeMenuListView侧滑删除错乱的Bug
做侧滑删除网上有很多方案,比如重写Listview实现滑动的监听,今天说下一个SwipeListView,这个是之前一个朋友在网上开源的一个封装组件,能够适用于多种情况,项目地址:https://github.com/baoyongzhang/SwipeMenuListView,我也采用了拿来主义直接拿来用了。
但是在调试运行的滑动删除数据的时候,却出现了一个问题,删除位置错乱,删除的第一个数据,却删除了最后一个,于是找问题呗,我首先用listview试了下,数据是没有问题的,那么说明是删除的时候删除的控件对位置的计算错误了,先上两张效果图。
那么是什么问题造成的呢,看了一个之前提交的版本(记得之前使用是好的,说明是最近提交的问题,于是发现一个问题,就是SwipeMenuAdapter这个类的getview方法较之前多了一个判断,为了缓存加的,尝试的心态将判断条件去掉,再运行了下,好了,这里贴出部分代码。
public View getView(int position, View convertView, ViewGroup parent) {SwipeMenuLayout layout = null;
// if (convertView == null) {View contentView = mAdapter.getView(position, convertView, parent);SwipeMenu menu = new SwipeMenu(mContext);menu.setViewType(getItemViewType(position));createMenu(menu);SwipeMenuView menuView = new SwipeMenuView(menu,(SwipeMenuListView) parent);menuView.setOnSwipeItemClickListener(this);SwipeMenuListView listView = (SwipeMenuListView) parent;layout = new SwipeMenuLayout(contentView, menuView,listView.getCloseInterpolator(),listView.getOpenInterpolator());layout.setPosition(position);
// } else {
// layout = (SwipeMenuLayout) convertView;
// layout.closeMenu();
// layout.setPosition(position);View view = mAdapter.getView(position, layout.getContentView(),parent);
// }if (mAdapter instanceof BaseSwipListAdapter) {boolean swipEnable = (((BaseSwipListAdapter) mAdapter).getSwipEnableByPosition(position));layout.setSwipEnable(swipEnable);}return layout;}
在此记录下,为大家参考。
记一个SwipeMenuListView侧滑删除错乱的Bug相关推荐
- 【Android】毫无耦合性,一个Item根布局搞定 item侧滑删除菜单,像IOS那样简单的使用侧滑删除。
重要的话 开头说,not for the RecyclerView or ListView, for the Any ViewGroup. 本控件不依赖任何父布局,不是针对 RecyclerView. ...
- android 侧滑删除功能,200行代码让你在Android中完美实现iOS版侧滑删除效果
使用几个月的IOS之后,发现IOS中侧滑删除俺就 大家好,自己开始学习Android已经差不多半年了吧,前前后后看了不少的博客获益匪浅.渐渐的随着技术的提升,慢慢感觉网上其它的一些功能的实现又不是那么 ...
- 【Android】史上最简单,一步集成侧滑(删除)菜单,高仿QQ、IOS。
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/53157090 本文出 ...
- Android实现RecyclerView侧滑删除和长按拖拽-ItemTouchHelper
RecyclerView这个被誉为ListView和GirdView的替代品,它的用法在之前的一篇博文中就已经讲过了,今天我们就来实现RecyclerView的侧滑删除和长按拖拽功能,实现这两个功能我 ...
- 鸿蒙 github harmony,鸿蒙HarmonyOS三方件开发指南-SwipeLayout侧滑删除
1. SwipeLayout组件功能介绍 1.1.功能介绍: SwipeLayout组件是一个侧滑删除组件. 1.2. 模拟器上运行效果: 2. SwipeLayout使用方法 2.1. 新建工程,增 ...
- 【Android 事件分发】ItemTouchHelper 实现侧滑删除
Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...
- android viewpager嵌套侧滑删除listview冲突问题
场景: viewpager嵌套侧滑删除的listview(如SwipeMenuListView),当在滑动在SwipeMenuListView的viewpager页时,两者滑动冲突 解决:自定义li ...
- 【BUG记录】记一次游戏越来越卡的BUG
[BUG记录]记一次游戏越来越卡的BUG U3D的MOBA项目,测试过程中,10分钟以后,游戏帧率开始缓慢下降,约3-5分钟后,由60帧下降到小于10帧,编辑器模式. 打开profiler,看到CPU ...
- android 仿微信侧滑删除SwipeListView实例
原帖地址:http://www.eoeandroid.com/thread-540337-1-1.html Android微信5.0以前某个版本(具体哪个忘记了)实现了和IOS上面一样的效果--侧滑删 ...
最新文章
- Navicat 12连接MySQL8服务器
- (转)Objective-C Autorelease Pools(自动释放池)详解
- k8s 手动恢复redis 集群_高工面试之:redis的几种集群方式你都熟悉吗?
- oracle获取sysdba权限,Oracle 学习笔记: SYSDBA登陆权限问题
- python星号什么意思_Python星号*与**用法分析
- [渝粤教育] 平顶山学院 区域分析与规划 参考 资料
- dsh linux,通过dsh批量管理Linux服务器(一)【感谢作者的无私分享】
- 尝试做一个简单的文件系统
- 视觉SLAM笔记(62) 单目稠密重建
- pe和linux一起安装到移动硬盘,PE安装在移动硬盘的详细教程
- python自动注册邮箱_python+selenium实现163邮箱自动登陆的方法
- u盘复制一直正在计算机,解决U盘复制文件时电脑总是重启的方法
- rdkitnlp | smiles数据扩增与smiles标准化
- Tracup丨什么是敏捷产品管理?
- UVA 1625—Color Length(ACM/ACPC Daejeon 2011)
- php开发俄罗斯方块,HTML5+JS实现俄罗斯方块原理及具体步骤_html5教程技巧
- Download 文件下载
- JS作用域和自由变量
- 冰山一角 管窥中国互联网的地下世界
- 分类模型训练完之后,测试效果极差可能原因分析
热门文章
- 低压抽屉柜常见故障处理方法_传真机常见故障如何处理 传真机常见故障处理方法【详解】...
- java getoutputstream_Java Connection.getOutputStream方法代码示例
- 北斗三号频点_海格通信发布国内首批北斗三号双模应用专用芯片及系统解决方案,对外展示“北斗+5G”的关键成果转化...
- hbase读写数据流程
- 批处理实现—循环Ping指定网段(检测网络时使用)
- 儿童心理健康的十项注意
- 程序员每天晚上都去翻垃圾,竟然年入60万美元?
- 罗永浩推出新一代坚果手机,比AI亮眼的是AV能力
- Google被骂成筛子
- Item-Based Collaborative Recommender System