java反射android的r文件的示例
动态取得R文件的int值,通过string-array name属性动态获取R.array.xxx的int值
//通过string-array name属性动态获取R.array.xxx的int值
public CharSequence[] getListData(String name) {
try {
Class<?> arrayClass = getArrayResource().getClass();
Field intField = arrayClass.getField(name);
int sourceId = intField.getInt(name);
return getResources().getTextArray(sourceId);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private Object arrayResource = null;
private Object getArrayResource() {
if (arrayResource == null) {
Class<?> resource = R.class;
try {
Class<?>[] classes = resource.getClasses();
for (Class<?> c : classes) {
int i = c.getModifiers();
String className = c.getName();
String s = Modifier.toString(i);
if (s.contains("static") && className.contains("array")) {
return c.getConstructor().newInstance();
} else {
continue;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
return arrayResource;
}
相关文章
Android开发中libs和jinLibs文件夹的作用详解
这篇文章主要给大家介绍了关于Android开发中libs和jinLibs文件夹的作用的相关资料,文中通过图文及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。2017-09-09使用Android studio3.6的java api方式调用opencv
这篇文章主要介绍了Android studio3.6的java api方式调用opencv的代码详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-03-03
最新评论