2011-09-06 36 views
10

Estoy agregando una matriz de ImageView sy establezco una imagen para cada ImageView dinámicamente y ya no estoy. Pero el problema es cómo establecer/definir el método onClicklistener en un ImageView?Cómo configurar el método onClicklistener de ImageView en Android?

Aquí está mi código:

ImageView[] mImages; 
int[] images={R.drawable.sandle_icon1, R.drawable.sandle_icon2, 
      R.drawable.sandle_icon3, R.drawable.sandle_icon4}; 

LinearLayout ll = new LinearLayout(this); 
mScrollViewImage.removeAllViews(); 
ll.setOrientation(LinearLayout.VERTICAL); 
mImages = new ImageView[images.length]; 
mScrollViewImage.addView(ll); 
for (floop = 0; floop < sandleicon.length; floop++) { 
    mImages[floop] = new ImageView(this); 
    mImages[floop].setImageResource(images[floop]); 
     ll.addView(mImages[floop]); 
} 

Cualquier ayuda será muy apreciada.

+0

hola Dipak .... u tiene que crear matriz entera de ImageView ... Mitesh Jain SKP –

+0

Ya he crear matriz de enteros. –

Respuesta

23
for (floop = 0; floop < sandleicon.length; floop++) { 
    mImages[floop] = new ImageView(this); 
    mImages[floop].setImageResource(images[floop]); 
    mImages[floop].setId(floop); 
    ll.addView(mImages[floop]); 
    mImages[floop].setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      //v.getId() will give you the image id 
     } 
    }); 
} 
+1

Hola Rasel, lo usé pero el problema es cómo obtener el índice de la imagen vista al hacer clic en una imagen en particular. –

+0

Ver respuesta actualizada – Rasel

+0

V.getId es Give Me Only -1 Value. –

3
mImages[floop].setOnClickListener(clickListener); 

private OnClickListener clickListener = new OnClickListener() { 

     public void onClick(View v) { 

     } 
}; 

Así es como configura onclicklistener para cualquier vista.

+0

puede usar mImages [floop] .setTag (floop), setTag y getTag se usan para almacenar algunos datos relacionados con una vista. –

+0

se debe cambiar el orden de ambas declaraciones. debe declarar primero y luego asignar el oyente? –

3

Esto funcionó para mí en el fragmento

// update the Youtube thumbnail images 
     this.youtube_thumbnail = (ImageView) listView.findViewById(R.id.youtube_thumbnail); 

     this.youtube_thumbnail.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       System.out.println("Adding youtube thumbnail"); 

      } 
     }); 
Cuestiones relacionadas