`
longgangbai
  • 浏览: 7246743 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android根据图片文件名获取它的资源ID 的两种方式

阅读更多

           假如在drawable目录下放一个图片文件,由于一些原因,我们在程序中仅仅知道它的文件名,而不知道它的资源ID,当我们需要这个资源ID的时候,可以使用下面的一行代码获取到:

方法一:

    /**
     * 获取图片名称获取图片的资源id的方法
     * @param imageName
     * @return
     */
	  public int  getResource(String imageName){
		Context ctx=getBaseContext();
		int resId = getResources().getIdentifier(imageName, "drawable" , ctx.getPackageName());
		return resId;
	}

 方法二:

	/**
	 * 获取图片名称获取图片的资源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,获取资源的文件名

  1. getResources().getResourceName(resid)  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics