我在scrollview中有一个onClickListener视图。视图应对点击做出反应,但是scrollview几乎将所有触摸解释为ACTION_MOVE并拦截触摸事件,因此我无法单击视图。
我已按如下方式修改了我的scrollview(因为它位于viewpager中,需要禁用滚动viewpager)
@Override
public boolean onInterceptTouchEvent(MotionEvent p_event) {
if (p_event.getAction() == MotionEvent.ACTION_MOVE) {
return true;
}
return super.onInterceptTouchEvent(p_event);
}
@Override
public boolean onTouchEvent(MotionEvent p_event) {
if (p_event.getAction() == MotionEvent.ACTION_MOVE && getParent() != null) {
getParent().requestDisallowInterceptTouchEvent(true);
}
return super.onTouchEvent(p_event);
}
如何更改ScrollView的灵敏度,以便不将最微小的动作注册为ACTION_MOVE并将触摸事件传递给其子女?
感谢您的帮助!
答案 0 :(得分:2)
没关系,我修好了! 第一部分是没有必要的,如果您修改代码如下,它可以正常工作:
@Override
public boolean onInterceptTouchEvent(MotionEvent p_event) {
/*if (p_event.getAction() == MotionEvent.ACTION_MOVE) {
return true;
}*/
return super.onInterceptTouchEvent(p_event);
}
@Override
public boolean onTouchEvent(MotionEvent p_event) {
if (p_event.getAction() == MotionEvent.ACTION_MOVE && getParent() != null) {
getParent().requestDisallowInterceptTouchEvent(true);
}
return super.onTouchEvent(p_event);
}