Как проверить, какая фотография в настоящее время представлена ​​на экране ImageView (в Android)? - PullRequest
0 голосов
/ 04 июля 2011

Немного странная проблема:

Можно ли вернуть идентификатор или / и имя активного ресурса в ImageView? Это код.

ImageView photo = (ImageView) findViewById(R.id.placeForPhoto);
//here I choose random photo from drawable (photo 1 to photo 10)
//and then I show it on the screen as below
photo.setImageResource(R.drawable.photo1); //or photo2 or photo3 or...

В другой части кода я хотел бы проверить, какая фотография представлена ​​в placeForPhoto. Если это R.drawable.photo1 или R.drawable.photo2 или ...

Так что мне нужно просто иметь возможность добиться такого сравнения:

if ([presented atm photo in ImagView photo] == R.drawable.photo1) 
{do something}
else if ([presented atm photo in ImagView photo] == R.drawable.photo2) 
{do smth different}
else {...}

Я пытался: photo.getID (), но возвращает идентификатор placeForPhoto не для ресурса внутри;

photo.getResource (), но возвращает другое значение, отличное от идентификатора фотографии

getResource (). GetIdentifier (), но он дает идентификатор, когда у вас есть имя, а у меня нет имени (или, возможно, можно получить имя из фотографии ImageView?)

getResources (). GetResourceName (), но тогда у меня должен быть идентификатор, который я просто ищу.

Спасибо заранее.

1 Ответ

0 голосов
/ 04 июля 2011

Можно ли вернуть идентификатор или / и имя активного ресурса в ImageView?

Нет, потому что ImageView не должен содержать ресурс. Он может содержать растровое изображение, полученное другими способами (например, загрузить из Интернета).

Так что мне нужно просто иметь возможность добиться такого сравнения

Сохраните идентификатор в элементе данных действия или в теге ImageView (т.е. setTag() и getTag()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...