做侧滑删除网上有很多方案,比如重写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相关推荐

  1. 【Android】毫无耦合性,一个Item根布局搞定 item侧滑删除菜单,像IOS那样简单的使用侧滑删除。

    重要的话 开头说,not for the RecyclerView or ListView, for the Any ViewGroup. 本控件不依赖任何父布局,不是针对 RecyclerView. ...

  2. android 侧滑删除功能,200行代码让你在Android中完美实现iOS版侧滑删除效果

    使用几个月的IOS之后,发现IOS中侧滑删除俺就 大家好,自己开始学习Android已经差不多半年了吧,前前后后看了不少的博客获益匪浅.渐渐的随着技术的提升,慢慢感觉网上其它的一些功能的实现又不是那么 ...

  3. 【Android】史上最简单,一步集成侧滑(删除)菜单,高仿QQ、IOS。

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/53157090 本文出 ...

  4. Android实现RecyclerView侧滑删除和长按拖拽-ItemTouchHelper

    RecyclerView这个被誉为ListView和GirdView的替代品,它的用法在之前的一篇博文中就已经讲过了,今天我们就来实现RecyclerView的侧滑删除和长按拖拽功能,实现这两个功能我 ...

  5. 鸿蒙 github harmony,鸿蒙HarmonyOS三方件开发指南-SwipeLayout侧滑删除

    1. SwipeLayout组件功能介绍 1.1.功能介绍: SwipeLayout组件是一个侧滑删除组件. 1.2. 模拟器上运行效果: 2. SwipeLayout使用方法 2.1. 新建工程,增 ...

  6. 【Android 事件分发】ItemTouchHelper 实现侧滑删除

    Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...

  7. android viewpager嵌套侧滑删除listview冲突问题

    场景:  viewpager嵌套侧滑删除的listview(如SwipeMenuListView),当在滑动在SwipeMenuListView的viewpager页时,两者滑动冲突 解决:自定义li ...

  8. 【BUG记录】记一次游戏越来越卡的BUG

    [BUG记录]记一次游戏越来越卡的BUG U3D的MOBA项目,测试过程中,10分钟以后,游戏帧率开始缓慢下降,约3-5分钟后,由60帧下降到小于10帧,编辑器模式. 打开profiler,看到CPU ...

  9. android 仿微信侧滑删除SwipeListView实例

    原帖地址:http://www.eoeandroid.com/thread-540337-1-1.html Android微信5.0以前某个版本(具体哪个忘记了)实现了和IOS上面一样的效果--侧滑删 ...

最新文章

  1. Navicat 12连接MySQL8服务器
  2. (转)Objective-C Autorelease Pools(自动释放池)详解
  3. k8s 手动恢复redis 集群_高工面试之:redis的几种集群方式你都熟悉吗?
  4. oracle获取sysdba权限,Oracle 学习笔记: SYSDBA登陆权限问题
  5. python星号什么意思_Python星号*与**用法分析
  6. [渝粤教育] 平顶山学院 区域分析与规划 参考 资料
  7. dsh linux,通过dsh批量管理Linux服务器(一)【感谢作者的无私分享】
  8. 尝试做一个简单的文件系统
  9. 视觉SLAM笔记(62) 单目稠密重建
  10. pe和linux一起安装到移动硬盘,PE安装在移动硬盘的详细教程
  11. python自动注册邮箱_python+selenium实现163邮箱自动登陆的方法
  12. u盘复制一直正在计算机,解决U盘复制文件时电脑总是重启的方法
  13. rdkitnlp | smiles数据扩增与smiles标准化
  14. Tracup丨什么是敏捷产品管理?
  15. UVA 1625—Color Length(ACM/ACPC Daejeon 2011)
  16. php开发俄罗斯方块,HTML5+JS实现俄罗斯方块原理及具体步骤_html5教程技巧
  17. Download 文件下载
  18. JS作用域和自由变量
  19. 冰山一角 管窥中国互联网的地下世界
  20. 分类模型训练完之后,测试效果极差可能原因分析

热门文章

  1. 低压抽屉柜常见故障处理方法_传真机常见故障如何处理 传真机常见故障处理方法【详解】...
  2. java getoutputstream_Java Connection.getOutputStream方法代码示例
  3. 北斗三号频点_海格通信发布国内首批北斗三号双模应用专用芯片及系统解决方案,对外展示“北斗+5G”的关键成果转化...
  4. hbase读写数据流程
  5. 批处理实现—循环Ping指定网段(检测网络时使用)
  6. 儿童心理健康的十项注意
  7. 程序员每天晚上都去翻垃圾,竟然年入60万美元?
  8. 罗永浩推出新一代坚果手机,比AI亮眼的是AV能力
  9. Google被骂成筛子
  10. Item-Based Collaborative Recommender System