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
  • Cómo cambiar entre actividades con viewflipper
  • EditText no captura ViewFlipper arroja?
  • Error de cursor Android: "asegúrese de que el cursor se inicialice correctamente antes de acceder a los datos de él ..."
  • Android ViewFlipper + Detector de gestos
  • ¿Cómo obtener las flechas derecha / izquierda en Actividad para indicar más pantallas a la derecha / izquierda?
  • Problema de superposición de texto en ViewFlipper ..
  • Creación de un ViewFlipper como la pantalla de inicio con MotionEvent.ACTION_MOVE
  • Android: moviendo la imagen de fondo mientras navega por las vistas
  • Android Cómo llamar a OnFling cuando Swiping en cualquier lugar de la actividad no sólo en el ViewFlipper
  • Cómo mantener la vista actual en ViewFlipper al cambiar la orientación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.