Получить связанное изображение (Drawable) в ImageView android

Я установил изображение в элемент управления представлением изображения в android:

iv.setImageResource(R.drawable.image1); 

Я хочу получить связанный с ним Drawable, выглядит так:

 Drawable myDrawable = iv.getImageResource(); //wrong 

благодаря!

Вы можете получить

 Drawable myDrawable = iv.getDrawable(); 

Вы можете сравнить его с ресурсом, например,

 if(iv.getDrawable()==getResources().getDrawable(R.drawable.image1)){ //do work here } 

К сожалению, нет getImageResource() или getDrawableId() . Но я создал простой способ обхода путем использования тегов ImageView.

В onCreate ():

 imageView0 = (ImageView) findViewById(R.id.imageView0); imageView1 = (ImageView) findViewById(R.id.imageView1); imageView2 = (ImageView) findViewById(R.id.imageView2); imageView0.setTag(R.drawable.apple); imageView1.setTag(R.drawable.banana); imageView2.setTag(R.drawable.cereal); 

Затем, если хотите, вы можете создать простую функцию для получения идентификатора drawable:

 private int getImageResource(ImageView iv) { return (Integer) iv.getTag(); } 

Надеюсь, это поможет вам, это, несомненно, облегчило мою работу.

Используйте Drawable drawable=imageview.getDrawable();

Сначала определите Drawable.

 Drawable myDrawable = getResources().getDrawable(R.drawable.image1); iv.setImageDrawable(myDrawable); 

Это простой подход, если вы можете использовать переменную члена id вида: просто сохраните идентификатор R.drawable, используя v.setId (). Затем верните его с помощью v.getId ().