Мне нужно сравнить два объекта 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?
благодаря
Один из возможных способов - использовать 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().
Кроме того, я не знаю, является ли это лучшим способом сделать то, что вы хотите сделать, но это первое, что приходит на ум.
сравните два объекта 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();
}