android 通过资源文件名称获取资源文件id
2013-01-16 12:35
423 查看
1.public static Drawable getDrawableByPicName(String picName, Context context) {
int id = context.getResources().getIdentifier(
picName == null ? "no_picture" : picName, "drawable",
GlobalConst.PACKAGE_NAME);
Drawable image = null;
if (id <= 0) {
image = context.getResources().getDrawable(R.drawable.no_picture);
} else {
image = context.getResources().getDrawable(id);
}
return image;
}
2.
可以使用反射,我写了一个小例子。
int id = context.getResources().getIdentifier(
picName == null ? "no_picture" : picName, "drawable",
GlobalConst.PACKAGE_NAME);
Drawable image = null;
if (id <= 0) {
image = context.getResources().getDrawable(R.drawable.no_picture);
} else {
image = context.getResources().getDrawable(id);
}
return image;
}
2.
可以使用反射,我写了一个小例子。
public static void main() throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, ClassNotFoundException { String resourceName = "R.drawable.icon"; String packageName = "com.bbcode"; int resourceId = getResourceId(packageName, resourceName); if(R.drawable.icon == resourceId){ //success ; } } public static int getResourceId(String packageName, String resourceName) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, ClassNotFoundException { String[] splitStr = resourceName.split("\\."); String classStr = splitStr[0] + "$" + splitStr[1]; Class c = Class.forName(packageName + "." + classStr); Field f = c.getDeclaredField(splitStr[2]); return f.getInt(f.getName()); } 3.将图片放到 res/assets 下,不过该方式还没有试过
相关文章推荐
- 通过字段名称动态获取资源的id(将Android工程做成jar包和资源文件)
- Android 通过名称获取资源ID
- 通过资源文件名称获取资源id
- Android通过图片名称获取资源id
- Android中通过资源名称获取对应的ID
- Android 通过名称获取资源ID
- 利用反射R文件,通过资源名称获取ID
- Android之通过资源名称获取资源Id
- android通过反射获取资源ID的工具类
- Android中资源id的获取,根据id获取资源以及根据资源名称获取id。
- android 通过URI获取文件名称Title
- Android通过反射动态获取资源Id
- Android 通过字符串来获取R下面资源的ID 值
- Android 通过字符串来获取R下面资源的ID 值
- Android中通过反射获取资源Id
- Android通过拼接名字获取drawable下的图片(根据图片名称获取在drawable中的ID)
- Android 通过字符串来获取R下面资源的ID 值
- Android中通过资源文件获取drawable的几种方法
- Android利用资源名称获取其ID
- Android中通过反射获取资源Id(特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取)