通过反射通过名字在res 里面获取ID
public intgetResourceIdByName(String name){
//获取内部类
Class[] classes = R.class.getClasses();
for (Class class1 :classes) {
try {
//获取常量
Fieldfield = class1.getField(name);
//获取常量值
return field.getInt(null);
}catch(NoSuchFieldException e) {
e.printStackTrace();
}catch(IllegalAccessException e) {
e.printStackTrace();
}catch(IllegalArgumentException e) {
e.printStackTrace();
}
}
return -1;
}
本文介绍了一种使用Java反射机制从Android资源文件中根据资源名称获取资源ID的方法。此方法通过遍历R类中的所有内部类并查找指定名称的字段来实现。
565

被折叠的 条评论
为什么被折叠?



