2012-05-04 161 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(); 
}