Android中通过反射获取资源Id
2015-06-08 17:56
741 查看
在将自己写的工具打成.jar包的时候,有时候会需要引用到res中的资源,这时候不能将资源一起打包,只能通过反射机制动态的获取资源.
特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取
1、封装成一个工具类
2、资源的获取
TextView.setText(String.format(text, p+"%"));
特别用在自己定义一个工具将其打成.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、资源的获取
<string name="version_update_schedule">已下载%1$s请稍等…</string>
String text=mContext.getResources().getString(CPResourceUtil.getStringId(mContext, "version_update_schedule"));
TextView.setText(String.format(text, p+"%"));
version_update_schedule 是string文件中name
相关文章推荐
- 修改AndroidStudio中的Logcat中的默认设置
- Android dp和sp的用法汇总
- xUtils在开发过程中DbUtils的使用(save,update方法)
- 异步加载AsyncTask
- 浅谈android中的目录结构
- 本人初学android,希望大神帮忙指点学习路线,现在好迷茫
- Android 调用本地通讯录,广播接收
- android EditText中的inputType
- Android自定义attr和style
- Android学习之ION memory manager
- Android studio快速开发工具合集
- Libs文件夹下的Jar文件为什么不会自动放在Android Private Libraries目录下
- Android 强制软键盘关闭
- 第一次写android博客,现在还是一个小白
- Android实现隐藏状态栏和标题栏
- Android FrameWork——相关内容
- Android开发资源整理
- android开发一些小bug
- Android AsyncTask
- Android:菜单栏Menubar跟随ListView滑动隐藏和显示