Hacer diferencias entre setOnClickListener y setOnTouchListener

Necesito algo de ayuda. En mi aplicación para Android tengo un ViewFlipper que contiene algunos LinearLayout. En cada LinearLayout tengo un ImageView. Para conmutar entre pantallas utilizo este código:

LinearLayout layMain = (LinearLayout) findViewById(R.id.layout_main); layMain.setOnTouchListener((OnTouchListener) this); 

// ————–

 public boolean onTouch(View arg0, MotionEvent arg1) { // Get the action that was done on this touch event switch (arg1.getAction()) { case MotionEvent.ACTION_DOWN: { // store the X value when the user's finger was pressed down downXValue = arg1.getX(); break; } case MotionEvent.ACTION_UP: { // Get the X value when the user released his/her finger float currentX = arg1.getX(); // going backwards: pushing stuff to the right if (downXValue < currentX) { // Get a reference to the ViewFlipper ViewFlipper vf = (ViewFlipper) findViewById(R.id.details); // Set the animation vf.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out)); vf.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in)); // Flip! vf.showPrevious(); } // going forwards: pushing stuff to the left if (downXValue > currentX) { // Get a reference to the ViewFlipper ViewFlipper vf = (ViewFlipper) findViewById(R.id.details); // Set the animation // vf.setInAnimation(AnimationUtils.loadAnimation(this, // R.anim.push_left_in)); vf.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out)); vf.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in)); // Flip! vf.showNext(); } break; } } // if you return false, these actions will not be recorded return true; } 

Cada pantalla contiene un ImageView.So, cuando cambio las pantallas de la vista de la imagen está cambiando. Ahora quiero implementar esto: Cuando una imagen se hace clic en una url para estar abierto. Aquí está mi código:

 ViewFlipper vf = (ViewFlipper) findViewById(R.id.details); for (i = 0; i < jArray.length(); i++) { LinearLayout l = new LinearLayout(this); l.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); l.setBackgroundColor(0x000000); l.setOrientation(LinearLayout.VERTICAL); vf.addView(l); ImageView img = new ImageView(this); img.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); Drawable image1 = ImageOperations(getBaseContext(), url[i]); img.setImageDrawable(image1); System.out.println("target" + target[i]); img.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri .parse("http://google.com")); startActivity(browserIntent); } }); l.addView(img); } 

El problema es que cada vez que toco la pantalla la url está abierta y ahora no puedo cambiar entre pantallas. ¿Cómo hacer esto, para hacer los diferentes entre onClick () y en Touch ()?

Por favor, ayúdame .. Gracias de antemano

Creo que utiliza la imagen Ver como un fondo para Linear Layout, parece Actividad manejar el toque de ImageView, para lograr su funcionalidad setTouch escucha de imageView y podemos manejar el clic para ver la imagen indirectamente utilizando el siguiente código en OntouchListener,

 if (downXValue == currentX) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri .parse("http://google.com")); startActivity(browserIntent);} 

Tengo su problema, pero la cosa es, para las pantallas de conmutación que debe utilizar, Viewflipper onTouchlistener como:

  mFlipper.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent arg1) { //// your touch code 

En lugar de los Linearlayout touch listeners .

Puede utilizar normal touch listeners for your Imageview events

Espero eso ayude.

  • Desarrollo de una pantalla de inicio de Android
  • Android: ViewFlipper o ViewPager - ¿Cuál es la mejor opción?
  • La animación de Viewflipper no funciona en el primer golpe
  • Android: el diseño de inflado toma mucho tiempo
  • Obtener Id de recurso de ImageView
  • Scrollview no desliza cuando es demasiado corto para desplazarse
  • Android Cómo llamar a OnFling cuando Swiping en cualquier lugar de la actividad no sólo en el ViewFlipper
  • ViewFlipper vs Fragments
  • Cómo cargar imágenes de la URL en el widget de la aplicación Android?
  • Creación de un ViewFlipper como la pantalla de inicio con MotionEvent.ACTION_MOVE
  • ViewFlipper: Receptor no registrado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.