从 imageView 检查可绘制 id

发布于 2024-10-31 17:43:17 字数 941 浏览 0 评论 0原文

大家好,我遇到了一个 imageview 的情况,我动态设置了可绘制源和文本,类似这样,与此太相似 问题

title.setText(items.get(position).getTitle());
icon.setImageResource(this.icons.getIcon(items.get(position).getIcon()));

imageview 上带有 onClickIcon 的 xml,我需要什么来知道哪些图像 id 可绘制,并检查它是否等于我的

<ImageView android:id="@+id/image" 
        android:onClick="onClickIcon"
         />

Activity

public void onClickIcon(View v) {

    int id =  v.getId();//instead i need the int of the drawable image

    switch (id) {
    case R.drawable.info:
        //do something
        break;
    case R.drawable.links_icon:
        //do something
        break;
    case R.drawable.map_icon:
        //do something
        break;
    default:
        break;
    }
}

提前谢谢大家,我也对我的英语感到抱歉,下次会努力改进。

干杯

Hi guys i got a situation with a imageview, I set dynamically the drawable source and the text, something like this, too similar to this question

title.setText(items.get(position).getTitle());
icon.setImageResource(this.icons.getIcon(items.get(position).getIcon()));

the xml with the onClickIcon on the imageview , what i need its to know which images id drawable come and check if its equal to mine

<ImageView android:id="@+id/image" 
        android:onClick="onClickIcon"
         />

Activity

public void onClickIcon(View v) {

    int id =  v.getId();//instead i need the int of the drawable image

    switch (id) {
    case R.drawable.info:
        //do something
        break;
    case R.drawable.links_icon:
        //do something
        break;
    case R.drawable.map_icon:
        //do something
        break;
    default:
        break;
    }
}

Thanks guys in advance , im also sorry for my english, ill try to improve it next time.

Cheers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼藏柔 2024-11-07 17:43:17

您可以使用 setTag() 方法..

ImageViewsetTag(R.id.ImageView,this.icons.getIcon(items.get(position).getIcon()));

并在 onClick 方法中使用 getTag(R.id.ImageView) 。

You can use setTag() method..

ImageViewsetTag(R.id.ImageView,this.icons.getIcon(items.get(position).getIcon()));

and use getTag(R.id.ImageView) in onClick method..

等待我真够勒 2024-11-07 17:43:17

这是与 CapDroid 的答案类似的另一个解决方法:

您可以使用 ImageView 标签创建自己的 getImageResource()getDrawableId() 函数。

在 onCreate() 中:

imageView0 = (ImageView) findViewById(R.id.imageView0);
imageView1 = (ImageView) findViewById(R.id.imageView1);
imageView2 = (ImageView) findViewById(R.id.imageView2);

imageView0.setTag(R.drawable.apple);
imageView1.setTag(R.drawable.banana);
imageView2.setTag(R.drawable.cereal);

然后,如果您愿意,可以使用获取可绘制 id 的简单函数:

private int getImageResource(ImageView iv) {
    return (Integer) iv.getTag();
}

我希望这对您有所帮助,它确实使我的工作变得更轻松。

Here is another workaround that is similar to CapDroid's answer:

You can create your own getImageResource() or getDrawableId() function by using the ImageView tags.

In onCreate():

imageView0 = (ImageView) findViewById(R.id.imageView0);
imageView1 = (ImageView) findViewById(R.id.imageView1);
imageView2 = (ImageView) findViewById(R.id.imageView2);

imageView0.setTag(R.drawable.apple);
imageView1.setTag(R.drawable.banana);
imageView2.setTag(R.drawable.cereal);

Then, if you like, the simple function to get the drawable id:

private int getImageResource(ImageView iv) {
    return (Integer) iv.getTag();
}

I hope this helps you, it sure made my work easier.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文