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