在使用AndroidSwipeLayout发现的一些问题

华和悦
2023-12-01

项目地址 https://github.com/daimajia/AndroidSwipeLayout  滑动Layout,支持单个View,ListView,GridView

在看上去不错的一个项目,可是使用的时候发现用它来实现lsitView当listView滑动到第二屏时,点击滑动出来的“删除”按钮时,根本找不到相对应的view,这个是在OnItemClickListener的时候,但是如果你再使用OnItemLongClickListener,长安“删除”按钮时,你会惊喜的发现,它又能找到相应的view,这么奇怪的问题,看看如何解决吧!我做做法是,既然OnItemClickListener获得不到而OnItemLongClickListener可以得到当前的VIEW,那么当我点击这个控件的时候,主动让它触发OnItemLongClickListener事件就可以了,所以需要修改一下 项目中的源码:

将SwipeLayout.java中

@Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
            if(mDoubleClickListener != null){
                performAdapterViewItemClick(e);
            }
            return true;
        }

修改为:

//单点时间执行完翻页后就没有效果了~因此将单点事件改为返回长按事件的返回
        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
            if(mDoubleClickListener != null){
//                performAdapterViewItemClick(e);
                performLongClick();
            }
            return true;
        }
再次启动项目试一下,这样listview滚动到什么地方的时候都能或得到当前的VIEW了!

 类似资料: