2017-07-04 167 views
0

不知怎的,我从绘制对象文件夹等为如何从可绘制对象获取图像名称?

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

我尝试像这意味着从IMAGE_NAME拇指这个

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

但我需要图像名称可绘制的图像;

怎么可能?

任何建议,意见,咨询;提供有用的链接非常感谢。先谢谢了

+0

https://stackoverflow.com/questions/6611703/why-there-is-no-method从可绘制对象获取资源名称 –

+0

将**标记**设置为您的“拇指”,然后在需要时获取它 –

+0

任何示例或代码请 – omor

回答

0

你可以尝试这样的:

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); 

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(); 
    }