手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android开发中记一个SwipeMenuListView侧滑删除错乱的Bug
Android开发中记一个SwipeMenuListView侧滑删除错乱的Bug
摘要:做侧滑删除网上有很多方案,比如重写Listview实现滑动的监听,今天说下一个SwipeListView,这个是之前一个朋友在网上开源的一个...

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

以上所述是小编给大家介绍的Android开发中记一个SwipeMenuListView侧滑删除错乱的Bug,希望对大家有所帮助,如果大家有任何疑问请给我们留言,小编会及时回复大家的。在此也非常感谢大家对查字典教程网的支持!

【Android开发中记一个SwipeMenuListView侧滑删除错乱的Bug】相关文章:

Android界面效果UI开发资料汇总(附资料包)

Android开发之SurfaceView显示动画效果

Android开发之BroadcastReceiver用法实例分析

Android GridView的使用

Android开发 旋转屏幕导致Activity重建解决方法

Android开发之OpenGL ES 基础

Android开发之WebView组件的使用解析

Android开发笔记之:消息循环与Looper的详解

android开发中ListView与Adapter使用要点介绍

android开发中finish()和System.exit(0)的区别

精品推荐
分类导航