2011-05-13 13 views
9

en mi solicitud, tengo una galería de imágenes,Obtener la posición de la imagen actual que se muestra en la Galería

pero yo quiero para detectar la posición de la imagen actual que se muestra,

Por ejemplo: cuando yo iniciar mi acividad, la posición es 0, pero cuando me desplazo en mi galería, quiero obtener la posición de la imagen actual mostrada,

He intentado OnFocusChanged, OnItemClicked, pero eso funciona solo si hago clic en un elemento de mi galería

¡Alguna idea! :(

Respuesta

22
gal.setOnItemSelectedListener(new OnItemSelectedListener(){ 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, 
        int position, long id) { 
      //Do something with position 
      } 
}; 

recibe este servicio repetido cada vez que un nuevo elemento en la galería se puso en el centro, así que ten cuidado de no hacer nada para trabajar intensiva ya que si el usuario se desplaza rápido que van a obtener una devolución de llamada para cada elemento que pasan

+0

okey TIm, gracias por su reliego, voy a intentar esto :) – Houcine

+0

gracias Tim otra vez, me funciona, quiero obtener esta posición, por ejemplo, si estoy en la posición de eme, voy a descargar solo el imágenes i-1, i, e i + 1, :) muchas gracias por su ayuda, lo agradezco :) ciao – Houcine

+0

Tiene usted razón Tim. Es posible poner un pequeño temporizador para ignorar las selecciones si la galería se desplaza demasiado rápido, a menos que haya alguna solución incorporada. – Lumis

9

para eliminar los eventos durante la aventura, anadir este además de la setOnItemSelectedListener() llamada:.

gal.setCallbackDuringFling(false); 
+0

¡Dulce! Esto me ayudó mucho. – Jesse

Cuestiones relacionadas