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

在此记录下,为大家参考。

最新文章

  1. Git版本控制管理学习笔记3-基本的Git概念
  2. Objective-C数据保存和读取
  3. angular代码分析之异常日志设计
  4. JavaScript DOM学习总结(二)
  5. IOS第一天多线程-05GCD队列的使用
  6. Web的26项基本概念和技术
  7. 重构12-Break Dependencies(打破依赖)
  8. MMU(what,how,todo)
  9. Pair project(刘昊岩11061156 黄明源11061186)
  10. Hadoop(九)Hadoop IO之Compression和Codecs
  11. CSS样式中常用的字体名称
  12. html 通用导航 a链接跳转时给当前导航添加选中颜色
  13. mysql 主主+ Keepalived 高可用
  14. iPhoneX理发指南
  15. #007 C语言大作业学生管理系统第四天
  16. 异常处理,MD5
  17. python --- 22 初始模块 random time collections functools
  18. vue 模拟下拉树
  19. 【xsy1147】 异或(xor) 可持久化trie
  20. 批量 修改 android eclipse 项目名

热门文章

  1. target-densitydpi=device-dpi会使其他ui插件布局变小
  2. 获取X天后的日期
  3. JAVA 访问WebRoot下的目录文件
  4. python学习之路基础篇(第六篇)
  5. 【kmp】 剪花布条 HDU - 2087
  6. Node.js 全局对象介绍
  7. 配置 docker0 网桥
  8. 前端技术之_CSS详解第二天
  9. CSDN没有审核投诉的真实性直接删除博主上传的资源
  10. hibernate5学习之理解数据库级并发