80,337
社区成员
发帖
与我相关
我的任务
分享
List<String> getPackageResource(String pkg, String Identifier) {
List<String> result = null;
try {
Class<?> c = Class.forName(pkg + ".R");
result = new ArrayList<String>();
Class<?>[] classes = c.getDeclaredClasses();
for (Class<?> subClass : classes) {
if (subClass.getSimpleName().equals(Identifier)) {
Field[] fields = subClass.getDeclaredFields();
for (Field field : fields) {
result.add(field.getName());
}
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return result;
}
pkg传package,Identifier你要string就传string好了。其实你可以看R.java文件就知道怎么反射了。[/quote]
谢谢!可以获取了!学到了,R文件的反射方式List<String> getPackageResource(String pkg, String Identifier) {
List<String> result = null;
try {
Class<?> c = Class.forName(pkg + ".R");
result = new ArrayList<String>();
Class<?>[] classes = c.getDeclaredClasses();
for (Class<?> subClass : classes) {
if (subClass.getSimpleName().equals(Identifier)) {
Field[] fields = subClass.getDeclaredFields();
for (Field field : fields) {
result.add(field.getName());
}
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return result;
}
pkg传package,Identifier你要string就传string好了。其实你可以看R.java文件就知道怎么反射了。