检查 ImageView 中显示的是什么图像?

Check what image is displayed in an ImageView?

所以我知道您可以像下面这样设置 ImageView 的图像(假设 bun_picture 是一个 ImageView):

bun_picture.setImageResource(R.drawable.rawbun);

但是有什么方法可以检查 ImageView 当前显示的是什么图像? 类似的东西(注意:.getImageResource 不存在,我只是用它来完成我想做的事情):

if(bun_picture.getImageResource() == R.drawable.rawbun) == true){
do something}

显然这行不通,但是我可以使用一些等效的东西吗?

谢谢

除非您在任一可绘制对象上调用了 mutate(),否则您可以通过比较它们的 ConstantState 字段来检查两个可绘制对象是否表示相同的图像。

ConstantState mine = bun_picture.getConstantState();
ConstantState other = ContextCompat.getDrawable(context, R.drawable.rawbun).getConstantState();

if (mine.equals(other)) {
    // they are the same
}