Android 通过资源名,获取资源ID

  有时候我们知道一个图片的文件名,我们需要知道在R文件中,该资源的ID,使用如下方法:

public static int getIdByName(Context context, String className, String resName) {
        String packageName = context.getPackageName();
        int indentify = context.getResources().getIdentifier(resName, className, packageName);
        return indentify;
    }

eg:

getIdByName(MainActivity.this, "drawable", "pic")

  上面一段代码可以获取drawable目录下,pic文件的id

时间: 2024-12-18 08:24:00

Android 通过资源名,获取资源ID的相关文章

Android根据元素名获取对应id

int id=Activity act.getResources().getIdentifier( "target_element_name", "id", TARGET_PACKAGE_NAME);

Android根据字符串型的资源名获取对应资源id

有时候我们想动态的根据一个字符串资源名获得到对应的资源id,如根据不同的图片名称获得对应的图片,此时就应该考虑如何实现. 大家知道,在编译Android工程时,系统会自动生成一个静态资源类R,里面根据不同的资源类型有不同的静态内部类,如id,drawable等等,而每个内部类中存放的是对应的16进制的静态资源id属性,而这些属性的属性名就是资源名.常用的方法有两个: 方法一: 利用getResources().getIdentifier(String name,String defType,St

Android中通过反射获取资源Id

在将自己写的工具打成.jar包的时候,有时候会需要引用到res中的资源,这时候不能将资源一起打包,只能通过反射机制动态的获取资源. 特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取 1.封装成一个工具类  package com.cp.utils; import android.content.Context; public class CPResourceUtil { public static int getLayoutId(Context paramContext, Str

android 根据图片名字获取图片id

public int getResource(String imageName){ Context ctx=getBaseContext(); int resId = getResources().getIdentifier(imageName, "drawable" , ctx.getPackageName()); return resId } 获取的是drawable文件夹下的图片,而且图片文件名不要带后缀.比如想要获取drawable文件夹下的home.jpg,只需调用getRe

Android从配置文件中获取空间ID,并添加事件

Button btnLogin=(Button)findViewById(R.id.btnLogin); btnLogin.setOnClickListener(new View.OnClickListener(){    @Override    public void onClick(View v){ //do something } });

客户端和服务器端路径问题及资源的获取

路径 1 与路径相关的操作 ---------------------------------------------------- 超链接 表单 转发 包含 重定向 <url-pattern> ServletContext获取资源 Class获取资源 ClassLoader获取资源 2 客户端路径 ---------------------------------------------------- 超链接.表单.重定向都是客户端路径,客户端路径可以分为三种方式: 绝对路径: 以"

Android使用getIdentifier()方法根据资源名来获取资源id

有时候我们想动态的根据一个资源名获得到对应的资源id,就可以使用getResources().getIdentifier()方法来获取该id.然后再使用该id进行相关的操作. 1.Demo示例 下面用一个小Demo来讲解如何使用getResources().getIdentifier()方法来获取该id. 例如,新建一个Android项目,项目结构部分截图如下所示: MainActivity代码如下: package com.oyp.demo; import android.os.Bundle;

关于Android中根据ID名动态获取资源的两个方法

在开发中, 我们习惯了类似下面这种方式去实现引用资源: context.getResources().getDrawable(R.drawable.flower); 但是,当我们提前知道这个资源的id,想动态去引用,而不是在id里面固化应该怎么办呢? 比如某个图片资源的id是R.drawable.test_1, 而且有序的还有test_2,test_3, 我们如何动态的去引用它们?这里有两种方案:直接用反射和用resource的getIdentifier()方法,它们原理都差不多利用反射实现.

android应用循环获取资源Id之引导页

目前市面上几乎所有的APP应用在第一次使用时都会有个引导页面,要么用引导用户操作,要么介绍产品优势,要么用来打广告等.引导页面一般是由3-6张图形界面组成,好的引导页面也不失为该app的亮丽风景!今天我也来说说引导页面的设计(当然有N种方法),我只是把我们项目中用到的方法代码贴出来,方便自己做个笔记. 我们实现的原理很简单,就是用一个ViewPager全屏展示一些图片,主要代码如下: 主页面布局: <?xml version="1.0" encoding="utf-8&

Android-使用getIdentifier()获取资源Id

使用getIdentifier()获取资源Id int i= getResources().getIdentifier("icon", "drawable", getPackageName()) ; if(i>0) {Log.i("aa","aa");} else {Log.i("vbv","aa");} 或者 int resID = getResources().getIdent