【问题标题】:How to Set onClicklistener Method of ImageView in Android?如何在Android中设置ImageView的onClicklistener方法?
【发布时间】:2011-09-06 09:47:50
【问题描述】:

我正在添加一个ImageViews 数组,并为每个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
  • 我已经创建了整数数组。

标签: android android-imageview


【解决方案1】:
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
        }
    });
}

【讨论】:

  • 你好 Rasel,我用过,但问题是如何在点击特定图像时获取 imageview 的索引。
  • V.getId 是只给我 -1 值。
【解决方案2】:

这在片段中对我有用

    // 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用于存储一些与视图相关的数据。
    • 两个语句的顺序应该改变。你应该先声明然后分配监听器?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    相关资源
    最近更新 更多