안드로이드 개발 질문/답변
(글 수 45,052)
ImageView에 들어있는 이미지와 R.drawable.icon 값을 비교 하려고 합니다.
ImageView에 setImageResource(R.drawable.icon) 해서 이미지를 넣고
그 ImageView와 R.drawable.icon값을 서로 비교하고 싶은데
ImageView에 넣은 R.drawable.icon값을 get 하고 싶을땐 어떻게 해야하나요?
2010.08.13 18:06:25
Drawable을 비교하지 마시고 비트맵을 비교하세요.
imageView에서 나오는 Drawable은 BitmapDrawable이기 때문에 강제 캐스팅해서 비트맵을 추출할 수 잇습니다.
소망아기님 소스에서 이어드리면...
Drawable temp = imageview.getDrawable();
Drawable temp1 = mContext.getResouce().getDrawable(R.drawable.icon);
Bitmap tmpBitmap = ((BitmapDrawable)temp).getBitmap();
Bitmap tmpBitmap1 = ((BitmapDrawable)temp1).getBitmap();
if(tmpBitmap.equals(tmpBitmap1) {
...
}
물론 이 경우 리소스의 이미지를 그대로 쓰지 않았다면 (크기를 sampleSize를 이용해 줄여서 썼다던가...)
못 찾을 수도 있습니다.
imageView에서 나오는 Drawable은 BitmapDrawable이기 때문에 강제 캐스팅해서 비트맵을 추출할 수 잇습니다.
소망아기님 소스에서 이어드리면...
Drawable temp = imageview.getDrawable();
Drawable temp1 = mContext.getResouce().getDrawable(R.drawable.icon);
Bitmap tmpBitmap = ((BitmapDrawable)temp).getBitmap();
Bitmap tmpBitmap1 = ((BitmapDrawable)temp1).getBitmap();
if(tmpBitmap.equals(tmpBitmap1) {
...
}
물론 이 경우 리소스의 이미지를 그대로 쓰지 않았다면 (크기를 sampleSize를 이용해 줄여서 썼다던가...)
못 찾을 수도 있습니다.
2013.05.17 20:40:23
3년전 글이지만... 지나가다가 적절한 답변이 있어 링크합니다.
http://stackoverflow.com/questions/10441451/compare-imageview-objects
저도 해보진 않아서 잘모르겠는데 이렇게 한번 해보시겠어요?
Drawable temp = imageview.getDrawable();
Drawable temp1 = mContext.getResouce().getDrawable(R.drawable.icon);
if(temp.equals(temp1) {
뭐 대강 이런식??