activity中滑动手势和listview滑动冲突解决方法

本文介绍了解决Android应用中ListView与自定义手势检测器之间的滑动事件冲突的方法。通过让ListView监听滑动事件并使用手势检测器处理这些事件,可以避免两者间的交互冲突。

问题描述:

      在activity中实现了一个手势检测器detector,用OnGestureListener能检测到手势滑动,重写onFling()方法判断到从左向右滑动后就finish()这个activity,activity

中重写的onTouchEvent方法,用手势检测器detector处理滑动事件,若这个滑动event符合你重写的滑动条件,就执行finish。

但是activity中有一个子控件listview,左右滑动的时候就冲突了。但是listview可以上下滑动。

解决方案:

      可以让listview也监听滑动事件,然后在listview的onTouch()方法中用你写好的手势检测器处理掉listview监听到的滑动事件event就不会冲突了。

listview.setOnTouchListener(new OnTouchListener() {			
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				// TODO Auto-generated method stub
				detector.onTouchEvent(event);
				return false;
			}
		});

在listview的ontouch()方法中用自己定义的手势先把滑动的event处理掉,就能解决冲突的问题了。activity的父布局也是在重写的onTouchEvent方法中用手势处理了

滑动。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值