无论如何从视图对象中删除onTouchListener?

Not*_*Man 16 android listener touch webview

我有一个关于webview的触摸式监听器,但它对webview的功能有不良影响,所以我想知道在最初的交互之后是否还有移除触摸监听器?

Vla*_*nov 31

webView.setOnTouchListener(null);
Run Code Online (Sandbox Code Playgroud)

  • 这是否会删除触摸监听器以便功能恢复正常,或者只是将监听器设置为 null 意味着 webview 在被触摸时不会执行任何操作? (2认同)

Pet*_*ete 17

因此,在您的活动中,您将设置被覆盖的onTouchListener:

            mWebView.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                v.setOnTouchListener(mWebView.mOnTouchListener);
                return false;
            }
        });
Run Code Online (Sandbox Code Playgroud)

而且你必须创建一个新的类,扩展WebView.在其中你将定义一个OnTouchListener.

    public final OnTouchListener mOnTouchListener = new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent rawEvent) {
        return false;
    }
}; 
Run Code Online (Sandbox Code Playgroud)

将ontouchlistener设置为null不会将其重置为默认定义.您仍然需要提供实际的侦听器.


小智 6

我在网上寻求帮助并得到了这篇文章.我什么时候做的

myView.setOnTouchListener(null);
Run Code Online (Sandbox Code Playgroud)

我的myView停止响应触摸.