Tengo un oyente táctil para una vista web, pero tiene un mal efecto en la funcionalidad de la vista web, por lo que me pregunto si hay alguna forma de eliminar el oyente en contacto después de la interacción inicial.¿Hay alguna forma de eliminar un onTouchListener de un objeto de vista?
Respuesta
Así pues, en que la actividad se debe establecer su onTouchListener reemplazado:
mWebView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
v.setOnTouchListener(mWebView.mOnTouchListener);
return false;
}
});
Y que tendría que hacer una nueva clase, que se extiende WebView. Y dentro de él definirías un OnTouchListener.
public final OnTouchListener mOnTouchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent rawEvent) {
return false;
}
};
Al configurar ontouchlistener como nulo no se restablece a la definición predeterminada. Aún debe proporcionar un oyente real.
webView.setOnTouchListener(null);
¿Elimina esto la función de escucha en toque para que la funcionalidad vuelva a ser normal, o simplemente establece que el oyente sea nulo, lo que significa que la vista web no hará nada cuando se toque? – NotACleverMan
gracias por la ayuda, pero acabo de probarlo y sigo teniendo los mismos problemas de funcionalidad. (Por ejemplo, doble toque para hacer zoom no funciona) – NotACleverMan
¿qué tal hacer custom onTouchListener y devolver false? – Hein
Estaba buscando ayuda en línea y llegué a esta publicación. Cuando hice
myView.setOnTouchListener(null);
mi myView dejado de responder al tacto.
- 1. ¿Hay alguna forma de controlar los cambios en un objeto?
- 2. ¿Hay alguna forma de exportar un objeto ActiveRecord a seeds.rb?
- 3. ¿Hay alguna forma de detectar si un objeto está bloqueado?
- 4. ¿Hay alguna forma de multirreproducir un SqlDataReader?
- 5. ¿Hay alguna forma de obtener un valor de propiedad de un objeto utilizando la clase PropertyPath?
- 6. ¿Hay alguna forma de hacer un barrido WCF bajo demanda?
- 7. ¿Hay alguna forma de desvanecer un V3 google.maps.Polygon?
- 8. ¿Hay alguna manera de inicializar un objeto mediante un hash?
- 9. ¿Hay alguna forma de eliminar confirmaciones locales en Mercurial?
- 10. ¿Hay alguna forma de descartar una vista de alerta automáticamente después de un tiempo?
- 11. En groovy, ¿hay alguna forma de comprobar si un objeto tiene un método determinado?
- 12. ¿Hay alguna forma de seleccionar un ancla segue programáticamente?
- 13. ¿Hay alguna forma de hacer un condicional before_save?
- 14. ¿Hay alguna forma de obtener el recuento actual de ref de un objeto en Python?
- 15. ¿Hay alguna forma de eliminar un único gráfico de los ejes existentes?
- 16. ¿Hay alguna forma de instanciar un NSManagedObject sin insertarlo?
- 17. ¿Hay alguna forma de serializar el objeto linq para Memcached?
- 18. ¿Hay alguna forma de agregar un número par de dígitos?
- 19. ¿Hay alguna forma de comentar un gran fragmento de código?
- 20. ¿Hay alguna forma de detectar un software de registro clave?
- 21. ¿Hay alguna forma de obtener la dirección de un registro?
- 22. ¿Hay alguna forma de filtrar un rastreo de SQL Profiler?
- 23. ¿Hay alguna forma de imprimir todos los métodos de un objeto en javascript?
- 24. ¿Hay alguna forma de obtener un objeto gráfico dentro del programa de la consola?
- 25. ¿Hay alguna forma común de verificar en Python si un objeto es cualquier tipo de función?
- 26. ¿Hay alguna forma de iterar a través de un objeto Dapper DynamicParameters?
- 27. ¿Hay alguna forma de serializar un objeto de paginación en Django?
- 28. ¿Hay alguna forma de burlarse parcialmente de un objeto usando EasyMock?
- 29. ¿Alguna forma de determinar qué objeto llamó un método?
- 30. Eliminar un objeto de imagen
idea genial, pero ¿puedes explicar cómo interactúa la nueva clase con 'mWebView'? ¿Cómo llega mWebView a mOnTouchListener? ¡Gracias! – CQM
mWebView no es un control estándar de Android Webview. En cambio, es un control personalizado que ha creado, que es simplemente una nueva clase que hereda de WebView. – Pete
Por cierto, si está extendiendo una 'Vista' como' Vista Web ', no necesita implementar un escucha táctil. La vista tiene un método incorporado que implementa en su lugar: 'boolean onTouchEvent (evento MotionEvent) {...}'. La ventaja de crear un oyente táctil es que puede hacerlo en ** alguna otra clase **, como un Fragmento o Actividad, que ya está definiendo. Entonces no tienes que crear otra clase nueva. – ToolmakerSteve