如何从可绘制对象获取图像名称?
问题描述:
不知怎的,我从绘制对象文件夹等为如何从可绘制对象获取图像名称?
Drawable thumb = mContext.getResources().getDrawable(R.drawable.image_name);
我尝试像这意味着从IMAGE_NAME拇指这个
String image_name =thumb.getCurrent().toString();
但我需要图像名称可绘制的图像;
怎么可能?
任何建议,意见,咨询;提供有用的链接非常感谢。先谢谢了
答
你可以尝试这样的:
int imageid = getResources().getIdentifier("image_name", "drawable", getPackageName());
String imageName = getResources().getResourceName(imageid);
答
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();
}
https://stackoverflow.com/questions/6611703/why-there-is-no-method从可绘制对象获取资源名称 –
将**标记**设置为您的“拇指”,然后在需要时获取它 –
任何示例或代码请 – omor