自去年以来,我一直在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。
最好的问候
答案 0 :(得分:0)
我创建了一个全新的项目,将所有内容命名为相同并将所有依赖项移动到那里。它工作正常,但我仍然不知道我以前的项目发生了什么,所以如果有人理解什么是问题我会很高兴看到它,毕竟它可能再次发生,我不满意一遍又一遍地做这件事的想法。
最诚挚的问候!