Мне нужно найти, какое изображение установлено в просмотре изображений (при нажатии на просмотр изображений) из моей папки drawble.Для этого мне нужно сравнить фон рисования и изображения из моей папки для рисования.Я нашел несколько методов для этого, но ни один из них не работает в моем случае.
При отладке этой проблемы я обнаружил одно свойство изображения (при наведении курсора на изображение) с именем " mBackgroundResource ", которое содержит то же значение Integer моего изображения в папке drawable.
int i = R.drawable.skype; (2130837526)
Imageview's mBackgroundResource= 2130837526
Так есть ли способ получить значение mBackgroundResource?Поэтому я могу попытаться сравнить это.Кто-нибудь может помочь решить это?
Вот мой код.
Я в адаптере, так что
Context mContext;
Drawable skype;
skype = mContext.getResources().getDrawable(R.drawable.skype); // in the constructor of the adapter.
public void onClick(View v)
{
ImageView img = (ImageView)v.findViewById(R.id.img_call_icon);
Drawable img_id = img.getBackground();
}
Теперь я попробовал следовать .. (Где я пропал?)
/***********************************************************************************/
if(img_id == skype)
{
// Not working...
}
/***********************************************************************************/
Bitmap bitmap = ((BitmapDrawable)img_id).getBitmap();
Bitmap bitmap1 = ((BitmapDrawable)skype).getBitmap();
if(bitmap == bitmap1)
{
// Not working...
}
/***********************************************************************************/
Object tag = img.getTag();
int i = R.drawable.skype;
if(tag != null && ((Integer)tag).intValue() == i)
{
// Not working...
}
/***********************************************************************************/
int j = ((Integer)tag).intValue() ; // always return 0..
int i = R.drawable.skype;
if(i == j)
{
// Not working...
}
/***********************************************************************************/
Boolean b = img_id.equals(skype); // return FALSE, Not working...
/***********************************************************************************/
ImageView imageView = (ImageView)v.findViewById(R.id.img_call_icon);
assert(i == imageView.getId());
Integer integer = (Integer) imageView.getTag(); // always fill with null...
integer = integer == null ? 0 : integer;
switch(integer)
{
case R.drawable.skype:
Toast.makeText(mContext, "skype", Toast.LENGTH_SHORT).show();
break;
case R.drawable.call:
Toast.makeText(mContext, "call", Toast.LENGTH_SHORT).show();
break;
} // Not working...