0

我有一个自定义 WebView,我想在收到 MotionEvent.ACTION_DOWN 时模拟一次点击。我不想在 WebView 上有任何类型的输入,我什至不能让它可点击(.setClickable(false))。所以我所做的是覆盖我的自定义 WebView 中的 onTouchEvent() 以返回 false。

这工作正常,但我错过了点击。我在 WebView 的源代码中看到它向名为 WebViewCore 的类发送消息,但这种通信在每个版本的 android 中都是不同的。

有谁知道我如何以编程方式将点击发送到 webView?

这是我正在尝试做的事情:

public class VoidWebView extends WebView {


    public VoidWebView(Context context) {
        super(context);

    }
    public VoidWebView(Context context, AttributeSet attrs) {
        super(context, attrs);

    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_DOWN){
                //tell the webview that a click has been performed , it doesn't matter where the click happened

        }
        return false;
    }


}
4

2 回答 2

3

我认为您正在寻找View.

您可以在此处获得更多信息。

于 2012-11-28T16:13:19.613 回答
0

将 up 和 down 事件传递给超级类。

@Override
public boolean onTouchEvent(MotionEvent event) {
    int action = event.getAction();
    if(action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_UP){
         super.onTouchEvent(event);
         return true;
    }
    return false;
}
于 2012-11-28T16:15:07.173 回答