如何在Android中设置ImageView的onClicklistener方法?

13

我正在添加一个ImageView数组,并动态地为每个ImageView设置图像,这部分已经完成。但问题是如何在ImageView上设置/定义onClicklistener方法?

这是我的代码:

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

任何帮助都将不胜感激。


你好 Dipak.... 你需要为 ImageView 创建整数数组... Mitesh Jain SKP - Mitesh Jain
我已经创建了整数数组。 - Dipak Keshariya
3个回答

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

1
你好,Rasel。我用了那个,但问题是如何在单击特定图像时获取imageview的索引。 - Dipak Keshariya
V.getId 只会给我 -1 的值。 - Dipak Keshariya

4

在片段中,这对我有用

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

3
mImages[floop].setOnClickListener(clickListener);
private OnClickListener clickListener = new OnClickListener() {
    public void onClick(View v) { }
};

这就是如何为任何视图设置onclicklistener。


你可以使用mImages[floop].setTag(floop),setTag和getTag用于存储与视图相关的一些数据。 - Yashwanth Kumar
这是关于编程的内容,请将以下文本从英语翻译成中文。仅返回翻译后的文本:两个语句的顺序应该改变。您应该先声明,然后再分配监听器? - vikas devde

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接