项目地址 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了!