有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何禁用触摸事件?

我有一个应用程序,在其中一个myActivity中,我正在使用webView。对于某些类型的平板电脑,我有双重触摸的问题。我的JS中的触摸事件和Android中的其他触摸事件。我无法删除JS中的触摸事件,因为有些平板电脑。我应该实施它。因此,我想停止此活动及其子项的Android touch事件,而不是所有应用程序的Android touch事件。我试过了

public static void enableDisableViewGroup(ViewGroup viewGroup, boolean enabled) {
    int childCount = viewGroup.getChildCount();
    for (int i = 0; i < childCount; i++) {
        View view = viewGroup.getChildAt(i);
        view.setEnabled(enabled);
        if (view instanceof ViewGroup) {
            enableDisableViewGroup((ViewGroup) view, enabled);
        }
    }
}

共 (1) 个答案

  1. # 1 楼答案

    忽略webview上的触摸事件的方法非常简单,只需执行以下操作:

    mWebView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return false; //returns true if you wan't also ignore the js touch events
        }
    });
    

    问题是,我不确定触发的事件是否来自webview或其他视图,您需要定义它,以便可以在相应的视图上设置相同的OnTouchListener