2017-07-04 4 views
0

D'une certaine façon j'ai l'image Drawable du dossier Drawable comme commeComment obtenir le nom d'image de Drawable Object?

Drawable thumb = mContext.getResources().getDrawable(R.drawable.image_name); 

j'essaie comme ça

String image_name =thumb.getCurrent().toString(); 

Mais mon besoin nom de l'image que image_name signifie de pouce;

Comment c'est possible?

Une suggestion, un commentaire, une consultation; fournir des liens utiles sont très appréciés. Advance Merci

+0

https://stackoverflow.com/questions/6611703/why-there-is-no-method -to-get-resource-name-from-drawable-object –

+0

fixez ** tag ** à votre «pouce» et obtenez-le quand vous en avez besoin ' –

+0

un exemple, ou du code s'il vous plaît – omor

Répondre

0

Vous pouvez essayer comme ceci:

int imageid = getResources().getIdentifier("image_name", "drawable", getPackageName()); 
String imageName = getResources().getResourceName(imageid); 
0
String name = getResources().getResourceEntryName(R.drawable.image_name); 
Log.e("name", name); 

ou

String resName = getResourceNameFromClassByID(R.drawable.class, 
R.drawable.image_name); 
Log.e("name", resName); 

public String getResourceNameFromClassByID(Class<?> aClass, int resourceID) 
      throws IllegalArgumentException { 
     Field[] drawableFields = aClass.getFields(); 

     for (Field f : drawableFields) { 
      try { 

       if (resourceID == f.getInt(null)) 
        return f.getName(); // Return the name. 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
     throw new IllegalArgumentException(); 
    }