2011-09-06 7 views
10

Je suis l'ajout d'un tableau de ImageView s et définir une image à chaque ImageView dynamique et j'en ai fini avec elle. Mais le problème est de savoir comment définir/définir onClicklistener Method sur un ImageView?Comment définir la méthode onClicklistener de ImageView dans Android?

Voici mon code:

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]); 
} 

Toute aide sera grandement appréciée.

+0

bonjour Dipak .... u doivent créer une matrice entière pour ImageView ... Mitesh Jain SKP –

+0

Je créer déjà tableau entier. –

Répondre

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

Bonjour Rasel, je l'ai utilisé mais Problème est comment obtenir l'index de l'imageview sur le clic de l'image particulière. –

+0

Voir Mise à jour – Rasel

+0

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

3
mImages[floop].setOnClickListener(clickListener); 

private OnClickListener clickListener = new OnClickListener() { 

     public void onClick(View v) { 

     } 
}; 

Voici comment définir onclicklistener dans n'importe quelle vue.

+0

Vous pouvez utiliser mImages [floop] .setTag (floop), setTag et getTag sont utilisés pour stocker des données liées à une vue. –

+0

L'ordre des deux instructions doit être modifié. vous devez d'abord déclarer, puis affecter l'écouteur? –

3

Cela a fonctionné pour moi dans le fragment

// 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"); 

      } 
     }); 
Questions connexes