2012-05-04 131 views
1

我需要通过其图像资源(按钮上使用的封面图像)或图像资源的文件路径来比较两个ImageView对象。比较ImageView对象

final ImageView button01 = (ImageView) findViewById(R.id.button01); 
final ImageView button02 = (ImageView) findViewById(R.id.button02); 
button01.setImageResource(R.drawable.myDogsPhoto); 
button02.setImageResource(R.drawable.myDogsPhoto); 
if (button01.getImageResource() == button02.getImageResource()) { 
return true; 
} 

是否有人可以告诉我怎么可以去比较两个ImageView的组件:

的线沿线的东西吗?

感谢

回答

1

一个潜在的方法是使用View.setTag();方法来存储资源的价值(或文件路径字符串)。 setTag()和getTag()方法允许您将任意数据附加到View对象,您可以稍后调出以满足您的任何需要。

例如:

final ImageView button01 = (ImageView) findViewById(R.id.button01); 
final ImageView button02 = (ImageView) findViewById(R.id.button02); 

button01.setImageResource(R.drawable.myDogsPhoto); 
button01.setTag(R.drawable.myDogsPhoto); 
button02.setImageResource(R.drawable.myDogsPhoto); 
button02.setTag(R.drawable.myDogsPhoto); 
if (button01.getTag().equals(button02.getTag())) { 
    return true; 
} 

注意我没有编译此,它可能需要你做出Integer对象传递给setTag()。

此外,我不知道这是最好的方式去做你想做的事情,但它是第一个想到的。

2

比较两个ImageView的对象::

button01 =(ImageView)findViewById(R.id.button01); 
button02 =(ImageView)findViewById(R.id.button02); 

Drawable d=button01 .getDrawable(); 
Drawable d1=button02 .getDrawable(); 
if(d== d1){ 
    Toast.makeText(Example.this, "hello", Toast.LENGTH_SHORT).show(); 
}else { 
    Toast.makeText(Example.this, "hai", Toast.LENGTH_SHORT).show(); 
}