Сравнить объекты ImageView

1

Мне нужно сравнить два объекта 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?

благодаря

Теги:
button
imageview

2 ответа

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();
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню