根据图片名称获取图片id,下面介绍两种方法,问题解决方法来源于android学习手册,360手机助手中下载。里面108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。
假如在drawable目录下放一个图片文件,由于一些原因,我们在程序中仅仅知道它的文件名,而不知道它的资源ID,当我们需要这个资源ID的时候,可以使用下面的一行代码获取到:
方法一:
Java代码
/**
* 获取图片名称获取图片的资源id的方法
* @param imageName
* @return
*/
public int getResource(String imageName){
Context ctx=getBaseContext();
int resId = getResources().getIdentifier(imageName, drawable , ctx.getPackageName());
return resId;
方法二:
Java代码
/**
* 获取图片名称获取图片的资源id的方法
* @param imageName
* @return
*/
public int getResourceByReflect(String imageName){
Class drawable = R.drawable.class;
Field field = null;
int r_id ;
try {
field = drawable.getField(imageName);
r_id = field.getInt(field.getName());
} catch (Exception e) {
r_id=R.drawable.b_nothing;
Log.e(ERROR, PICTURE NOT FOUND!);
}
return r_id;
}
知道资源ID,获取资源的文件名
getResources().getResourceName(resid)
取消
评论