如何通过编程方式检查ImageView的图像资源?

5
我想要检查我的ImageView的背景并在它等于我drawable文件夹中的某个drawable时执行操作。我该怎么做?我尝试了这段代码,但是没有得到答案:
layoutRoot.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        if (view.getBackground() == R.drawable.grid_single_bg_selected) {
            //Do sth
        }
    }
});

1
getBackground() 返回一个 Drawable,所以上面的代码肯定不会起作用。你是如何设置 imageView 的背景的? - Jayesh Elamgodil
2个回答

5
当您设置背景可绘制时,也要为ImageView设置标签。
imageView.setTag(R.drawable.demo);

然后进行比较

if (((Integer) imageView.getTag()) == R.drawable.demo){
   // Do stg
}

我想在网格视图项上使用这个技巧。我想访问每个视图的背景并进行比较。如果有一种方法可以获取可绘制对象的ID,那么它可能会解决问题。 - Mohammad H

1
如果您正在通过编程方式设置imageView,则在设置时也要为此imageView设置标记。现在,当您想要查找可绘制对象时,可以通过检索此imageView的标记来实现。

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