Reflection Class.getDeclaredFields()没有检索任何内容

时间:2017-11-20 21:10:43

标签: java android reflection

自去年以来,我一直在Android开发中使用反射而没有任何问题。在更新我的Android Studio 3.0之后,我注意到与之相关的所有与反射相关的内容都停止了工作。尝试使用方法getDeclaredFields()从类中检索字段时,我不再成功,结果始终为空数组。 在搜索了将近一周之后,尝试了很多不同类型的东西,我尝试使用下面的代码运行单元测试,并且进展顺利,但是当我尝试在Activity上运行相同的代码时,例如,我没有结果,只有相同的旧空数组。

Field[] fields = User.class.getDeclaredFields();
Log.d(HOME_ACITIVITY_TAG, "Count: " + fields.length);
for (Field field : fields)
     Log.d(HOME_ACITIVITY_TAG, "FieldName: " + field.getName());

User.java

public class User {

    private int id;
    private int personId;
    private String emailAddress;
    private String password;
    private String facebookId;
    private boolean isActive;
    private Person profile;

    public User() {}
}

有谁知道发生了什么?我的大部分项目都依赖于此,我几乎使用了Reflection。

最好的问候

1 个答案:

答案 0 :(得分:0)

我创建了一个全新的项目,将所有内容命名为相同并将所有依赖项移动到那里。它工作正常,但我仍然不知道我以前的项目发生了什么,所以如果有人理解什么是问题我会很高兴看到它,毕竟它可能再次发生,我不满意一遍又一遍地做这件事的想法。

最诚挚的问候!