Android listview滑动事件和上拉加载下拉刷新冲突
事情是这样的:在一个布局文件中,除了头部以外,主体内容是一个轮播的图片和listview,因为listview要加载很多数据,所以有一个下拉刷新,上拉加载的功能,但是需求...
事情是这样的:在一个布局文件中,除了头部以外,主体内容是一个轮播的图片和listview,因为listview要加载很多数据,所以有一个下拉刷新,上拉加载的功能,但是需求是:在listview滑动的时候,轮播鱼片也跟着一快滑动,但是如果给listview加上onScrollListener事件,上拉刷新,下拉加载就会被屏蔽掉,不能加载数据,请问是怎么回事,哪位可以帮忙指点一下
展开
1个回答
展开全部
这个支持上拉加载下拉刷新的ListView,你是在android的ListView基础上修改的?(通过onScrollListener)还是用的第三方开源库?(PullTorRefresh之类)
轮播图片又用的是什么?ViewPager吗?
没有代码参考,我也只能笼统的猜下
如果你用的是某些别人写的,继承自ListView的类,那l可能是这个类本身的上拉加载下拉刷新,就是利用内部创建onScrollListener实例,然后通过setScrollListener的方式设置给自己来实现的,所以你设置新的onScrollListener可能替换掉了原来默认的监听器
另外也可能是手势的事件冲突。而一般手势事件冲突,有可能是由于手势事件,在到达规定的View之前,就被被上层View“消耗”(拦截并处理)了。这种情况你可以写个类继承你现在ListView,重写dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent方法,里面直接调用父类的同名方法,但在之前输出个Log,跟踪下手势事件去向
(参考android手势事件处理机制,不清楚的话,可以看下网上针对dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent这三块的详细讲解)
轮播图片又用的是什么?ViewPager吗?
没有代码参考,我也只能笼统的猜下
如果你用的是某些别人写的,继承自ListView的类,那l可能是这个类本身的上拉加载下拉刷新,就是利用内部创建onScrollListener实例,然后通过setScrollListener的方式设置给自己来实现的,所以你设置新的onScrollListener可能替换掉了原来默认的监听器
另外也可能是手势的事件冲突。而一般手势事件冲突,有可能是由于手势事件,在到达规定的View之前,就被被上层View“消耗”(拦截并处理)了。这种情况你可以写个类继承你现在ListView,重写dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent方法,里面直接调用父类的同名方法,但在之前输出个Log,跟踪下手势事件去向
(参考android手势事件处理机制,不清楚的话,可以看下网上针对dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent这三块的详细讲解)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询