2013-05-22 5 views
1

У меня есть приложение, в одном из myActivity я использую webView. С некоторыми типами планшетов у меня проблема двойного касания. сенсорное событие в My JS и другое на Android. Я не могу удалить событие касания в JS, потому что с некоторыми таблетками. я должен его реализовать. Поэтому я хотел бы остановить события касания Android для этого действия, и он является дочерним, а не для всех приложений. Я попыталсяКак отключить событие касания?

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); 
     } 
    } 
} 
+0

Можете ли вы попробовать переопределить onTouchEvent для каждого вида и игнорировать ввод пользователя? – Anukool

+0

Можете ли вы дать мне пример, пожалуйста? – Zizou

+0

Это для onTouchListener - http://developer.android.com/reference/android/view/View.OnTouchListener.html, и это статья об обработке сенсорных событий в Android-http://www.vogella.com/articles /AndroidTouch/article.html – Anukool

ответ

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 на соответствующем представлении.

+0

+1. Это должно работать нормально. – Anukool

+0

он работает для отключения события касания, но это не то, к чему я стремлюсь. – Zizou