gpt4 book ai didi

Android ScrollView 拦截点击,不应该那样做

转载 作者:太空狗 更新时间:2023-10-29 13:30:12 24 4
gpt4 key购买 nike

我在 ScrollView 中有一个带有 onClickListener 的 View 。 View 应该对点击使用react,但 ScrollView 将几乎所有触摸解释为 ACTION_MOVE 并拦截触摸事件,所以我无法点击 View 。

我修改了我的 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 注册为 ACTION_MOVE 并将触摸事件传递给其子级?

感谢您的帮助!

最佳答案

没关系,我修好了!第一部分不是必需的,如果您按如下方式修改代码,它就可以正常工作:

@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);
}

关于Android ScrollView 拦截点击,不应该那样做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16563947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com