gpt4 book ai didi

android - 自定义 ScrollView 中 View 上的 OnClickListener

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:14 26 4
gpt4 key购买 nike

我在 ViewPager 中有一个水平 ScrollView。为了防止在到达 ScrollView 的末尾时滚动 ViewPager,我按照 SO 上的提示使用此类:

public class CustomScrollView extends HorizontalScrollView {

public CustomScrollView(Context p_context, AttributeSet p_attrs) {
super(p_context, p_attrs);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent p_event) {

return true;
}

@Override
public boolean onTouchEvent(MotionEvent p_event) {


if (p_event.getAction() == MotionEvent.ACTION_MOVE
&& getParent() != null) {
getParent().requestDisallowInterceptTouchEvent(true);
}

return super.onTouchEvent(p_event);
}
}

onInterCeptTouchEvent 似乎会消耗对该 View 及其内部所有内容的任何点击。当我将 Views 放入那个 ScrollView 时,它们的 OnClickListener 将不会被调用。

当我让 onInterceptTouchEvent 返回 false 时,将调用 OnClickListener,但无法滚动 ScrollView

如何在 ScrollView 中放置可点击的 View ?

编辑:在实现 Rotem 的答案后,onClickListener 起作用,但它不仅触发点击事件,还触发其他事件,如 fling。如何预防?

最佳答案

尝试在 onInterceptTouchEvent 的实现中调用 onTouchEvent 然后返回 false。

关于android - 自定义 ScrollView 中 View 上的 OnClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16018084/

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