2011-07-04 18 views
0

ビットワイア問題:ImageView(アンドロイド)で現在どの写真が画面に表示されているか確認しますか?

ImageViewでアクティブなリソースのIDまたは/および名前を取得することはできますか?それがコードです。

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のIDを返します。

photo.getResource()それは写真

のgetResource()のIDとは異なる他のいくつかの値を返します。getIdentifier()が、あなたが名前を持っていると私は名前を持っていないときにIDを付与(またはImageViewの写真から名前を取得することは可能でしょうか?)

getResources()。getResourceName()しかし、私はちょうど探しているIDを持っている必要があります。

Thxです。

答えて

0

ImageViewでIDまたは/およびアクティブなリソースの名前を取得することはできますか?

いいえ、ImageViewはリソースを保持する必要がないためです。それは、他の手段(例えば、ウェブからのダウンロード)によって得られたビットマップを保持することができる。

だから私は必要なものだけでなめらか、このような比較

ストア活動のデータメンバーで、またはImageView(すなわちのタグ内のIDを達成する可能性を持っているとされますsetTag()およびgetTag())。

+0

Thx。私はタグを使用することを考えていたので、imageviewにリソースIDがなければ、私はそれらのために行く。 – Michal

関連する問題