【问题标题】:requestDisallowInterceptTouchEvent not working in WebViewrequestDisallowInterceptTouchEvent 在 WebView 中不起作用
【发布时间】:2025-12-02 17:40:01
【问题描述】:

我的应用程序中有以下结构。

ListView >LinearLayout(ListItem) > LinearLayout 的 TextView 和 WebView 子项。

现在的问题是我的 Webview 在我第一次执行时无法滚动。从第二次开始,它能够很好地滚动。扩展 LinearLayout 后,我​​可以看到第一次事件正在发生,而我的 WebView 在 onTouch 中得到 Action_Canceled。

为了摆脱它,我编写了以下函数,但它似乎没有任何效果。我也尝试使用 onInterceptTouchEvent(),但在我看来它并没有帮助我。

public void goingCrazy(ViewGroup v) {
        v.requestDisallowInterceptTouchEvent(true);
        if (!(v instanceof Contacts_Custom_Layouts.Custom_ViewFlipper)) {
            goingCrazy((ViewGroup) v.getParent());
        }
    }

欢迎任何帮助或建议。这真的让我抓狂,所以我给了函数名。

【问题讨论】:

标签: android android-listview webview


【解决方案1】:

已经两年了,但我刚刚遇到这个问题并解决了它添加view.dispatchTouchEvent(MotionEvent.obtain(MotionEvent.obtain(1,1,1,0.0f,0.0f,0)));在设置requestDisallowInterceptTouchEvent之前在ontouch里面@

【讨论】: