首页 > 代码库 > 反射android R文件
反射android R文件
动态取得R文件的int值
[1].[代码] [Java]代码 跳至 [1]
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | //通过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 R文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。