所以我知道您可以像下面那样设置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
}