Cómo habilitar el escucha de taps en el buscapersonas de vista en Android?

Estoy utilizando ver paginador para pasar entre las vistas en Android. Ahora necesito capturar el evento tap para cada una de las vistas. Cuando sobrescribo el oyente táctil para capturar el evento de toque, la acción de deslizar no ocurre y la pantalla permanece en la primera página misma. ¿Cómo agrego el oyente de tacto para ver paginador?

Código:

viewPager.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { mDetector.onTouchEvent(event); return true; }}); 

Para el código anterior soy capaz de capturar el evento tap, pero la acción deslizar se convierte en imposible.

5 Solutions collect form web for “Cómo habilitar el escucha de taps en el buscapersonas de vista en Android?”

Aquí te dejo un fragmento de mi código para detectar un "clic" en el OnTouchListener, espero que ayude

 mImagePager.setOnTouchListener(new OnTouchListener() { private float pointX; private float pointY; private int tolerance = 50; @Override public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_MOVE: return false; //This is important, if you return TRUE the action of swipe will not take place. case MotionEvent.ACTION_DOWN: pointX = event.getX(); pointY = event.getY(); break; case MotionEvent.ACTION_UP: boolean sameX = pointX + tolerance > event.getX() && pointX - tolerance < event.getX(); boolean sameY = pointY + tolerance > event.getY() && pointY - tolerance < event.getY(); if(sameX && sameY){ //The user "clicked" certain point in the screen or just returned to the same position an raised the finger } } return false; } }); 

Podemos usar Gestos ( Link1 , Link2 ):

 public boolean onTouchEvent (MotionEvent ev) 

¡Espero que esto ayude!

Nancy, no es necesario que anule manualmente los desplazamientos de página o los eventos táctiles. Simplemente agregue las páginas al ViewPager y ViewPager automáticamente se encargará de pasar.

Sin embargo, tiene que conectar los oyentes táctiles al objeto en cada página. Así que si la página 1 tiene un diseño lineal con muchos botones y necesita saber cuándo se hace clic en esos botones, debe adjuntar OnClickListeners para cada uno de esos botones.

¡Déjeme saber su caso de uso así que podemos entender mejor, porqué usted necesita descubrir cuando una página se ha hecho clic!

Sólo para añadir a la gran respuesta de Jorge, puede usar la distancia en lugar de la misma X y sameY, que es un poco más elegante. Muestra:

 // Ignore events that are swipes rather then touches float distX = event.getX() - pointX; float distY = event.getY() - pointX; double dist = Math.sqrt(distX * distX + distY * distY); if (dist > tolerance) { return false; } 

Ponga el evento click en la vista del elemento del viewpager dentro del viewPagerAdapter en el método instantiateItem como –

  @Override public Object instantiateItem(ViewGroup container, final int position) { // Declare Variables ImageView jive_image; inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View itemView = inflater.inflate(R.layout.list_item_viewpager, container, false); itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { onBackPressed(); } }); // Add viewpager_item.xml to ViewPager ((ViewPager) container).addView(itemView); return itemView; } 
  • Manejo simultáneo de eventos táctiles en varias vistas en Android
  • ViewPager & ViewPagerIndicator no muestra nada
  • Rotación de la pantalla de Android ViewPager
  • ViewPager y fragmentos - ¿cuál es la forma correcta de almacenar el estado del fragmento?
  • Eliminar Elemento + Desplazarse a Siguiente en Android ViewPager
  • Android ViewPager Botón Anterior / Siguiente
  • ¿Cómo puedo establecer una etiqueta para fragmentos de viewpager?
  • Instancia de PagerAdapter en Android
  • Guardar / Restaurar fragmentos de estado android
  • Android: ¿Dónde poner el código onCreate () de la actividad en un fragmento?
  • El color de fondo de Viewpager se filtra a través de la primera página
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.