博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中通过反射获取资源Id
阅读量:6565 次
发布时间:2019-06-24

本文共 1899 字,大约阅读时间需要 6 分钟。

在将自己写的工具打成.jar包的时候,有时候会需要引用到res中的资源,这时候不能将资源一起打包,只能通过反射机制动态的获取资源.

 

特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取

 

1、封装成一个工具类 

package com.cp.utils;import android.content.Context;public class CPResourceUtil {      public static int getLayoutId(Context paramContext, String paramString) {         return paramContext.getResources().getIdentifier(paramString, "layout",                 paramContext.getPackageName());     }      public static int getStringId(Context paramContext, String paramString) {         return paramContext.getResources().getIdentifier(paramString, "string",                 paramContext.getPackageName());     }      public static int getDrawableId(Context paramContext, String paramString) {         return paramContext.getResources().getIdentifier(paramString,                 "drawable", paramContext.getPackageName());     }          public static int getStyleId(Context paramContext, String paramString) {         return paramContext.getResources().getIdentifier(paramString,                 "style", paramContext.getPackageName());     }          public static int getId(Context paramContext, String paramString) {         return paramContext.getResources().getIdentifier(paramString,"id", paramContext.getPackageName());     }          public static int getColorId(Context paramContext, String paramString) {         return paramContext.getResources().getIdentifier(paramString,                 "color", paramContext.getPackageName());     }     public static int getArrayId(Context paramContext, String paramString) {         return paramContext.getResources().getIdentifier(paramString,                 "array", paramContext.getPackageName());     } }

 

2、资源的获取

 

已下载%1$s请稍等…

 

 

 

 

String text=mContext.getResources().getString(CPResourceUtil.getStringId(mContext, "version_update_schedule"));

 TextView.setText(String.format(text, p+"%"));

version_update_schedule 是string文件中name

 

转载地址:http://rjdjo.baihongyu.com/

你可能感兴趣的文章
第七次课程作业
查看>>
C++ 文本查询2.0(逻辑查询)
查看>>
Objective-C学习总结-13协议1
查看>>
web学习方向
查看>>
A*算法实现
查看>>
第一周 从C走进C++ 002 命令行参数
查看>>
【java】itext pdf 分页
查看>>
看看这个电脑的配置
查看>>
[转]【NoSQL】NoSQL入门级资料整理(CAP原理、最终一致性)
查看>>
RequireJS进阶(二)
查看>>
我设计的网站的分布式架构
查看>>
linux extract rar files
查看>>
Knockout.Js官网学习(监控属性Observables)
查看>>
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决
查看>>
azure之MSSQL服务性能测试
查看>>
Android BitmapFactory.Options
查看>>
前端构建:Less入了个门
查看>>
phonegap(cordova) 自己定义插件代码篇(三)----支付宝支付工具整合
查看>>
linux 批量进行:解压缩某一类压缩文件类型的文件
查看>>
激活modelsim se 10.4 时运行patch_dll.bat不能生成TXT
查看>>