动态取得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;
}
以上是内存溢出为你收集整理的java反射android的r文件的示例全部内容,希望文章能够帮你解决java反射android的r文件的示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)