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

news/2024/7/2 23:44:27

           假如在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)  

http://www.niftyadmin.cn/n/4565893.html

相关文章

Android界面加载完成后自动弹出软键盘的解决方案

在android中有多个可供输入的控件时候,加载之后,第一个可输入控件获取焦点。因此加载完毕输入软键盘弹出,采用获取焦点触摸模式可以解决问题,特此机制。 只需要在最外层的容器中添加以后语句即可。 android:focusable"true&…

get方法

接口 - 查询英雄外号 根据英雄名返回英雄外号 接口地址 - /getNickName 请求方式 - get 请求参数 - heroName 返回值 - 英雄外号 //导包 const express require(express) //创建服务器 const app express()//写接口 app.get(/getNickName,(req,res)>{//要接收前端传递过来…

android程序开源源码贡献

Android PDF 阅读器 http://sourceforge.net/projects/andpdf/files/ 个人记账工具 OnMyMeans http://sourceforge.net/projects/onmymeans/develop Android电池监控 Android Battery Dog http://sourceforge.net/projects/andbatdog/ RSS阅读软件 Android RSS http://code.goo…

Android中父子窗体调用类似模式窗体应用

在我们学习其他语言(javascript,C#,J2SE AWT)的时候可能会遇到模式窗体的概念, 就是一个父窗体,打开一个子窗体,关闭子窗体时候,获取父窗体界面的数值。 大致步骤: 1.一个Activity…

简易的app

//导包 const express require(express) const bodyParser require(body-parser) const path require(path) var multer require(multer) const { cpuUsage } require(process) const { fstat } require(fs)//用包创建一个文件夹 var upload multer({data:uploads/})//导…

Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传...

做一个文件上传到服务器端可能需要以下几点知识,如下: 1.HTTP multipart/form-data 上传报文格式实现手机端上传: 2.选择图片,采用android中父子窗体回调的模式窗体。 3.android 中AsyncTask的使用 4.服务端fileupload文件读写 效…

同源与不同源

同源 - 协议和地址和端口都一样 不同源 - 协议和地址和端口,只要有一个不同就不同源 解决跨域问题 //设置响应头,允许资源被访问/共享 res.setHeader(‘Access-Control-Allow-Origin’,’*’)//表示所有的请求路径都可以请求这个接口 //中间件 //使用…

Android文件图片上传的详细讲解(二)--AsyncTask的用法

AsyncTask的用法 AsyncTask的用法 在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI…