当前位置: 移动技术网 > IT编程>移动开发>Android > java反射android的r文件的示例

java反射android的r文件的示例

2019年07月24日  | 移动技术网IT编程  | 我要评论

偷拍自拍亚洲色图,北京吴孟达,祁汉个人资料

动态取得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;
    }

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网