13

I am Adding an array of ImageViews and set an image to each ImageView dynamically and I'm done with it. But the problem is how to set/define onClicklistener Method on an ImageView?

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

Any help will be greatly appreciated.

kometen
  • 6,536
  • 6
  • 41
  • 51
Dipak Keshariya
  • 22,193
  • 18
  • 76
  • 128

3 Answers3

25
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
        }
    });
}
Flimm
  • 136,138
  • 45
  • 251
  • 267
Rasel
  • 15,499
  • 6
  • 40
  • 50
4

This worked for me in 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");
}
kometen
  • 6,536
  • 6
  • 41
  • 51
Vinod Joshi
  • 7,696
  • 1
  • 50
  • 51
3
mImages[floop].setOnClickListener(clickListener);
private OnClickListener clickListener = new OnClickListener() {
    public void onClick(View v) { }
};

This is how you set onclicklistener to any view.

kometen
  • 6,536
  • 6
  • 41
  • 51
Yashwanth Kumar
  • 28,931
  • 15
  • 65
  • 69