私は去年から問題なしでアンドロイド開発でリフレクションを使用しています。私のAndroid Studio 3.0をアップデートした後、Reflectionに関連するすべてのことが、これまで働いていたことに気がつきました。私はメソッドgetDeclaredFields()
を使用してクラスからフィールドを取得しようとすると、もはや成功しません。結果は常に空の配列です。 ほとんど1週間検索して、さまざまな種類のものを試した後、私は以下のコードで単体テストを実行しようとしましたが、うまくいったのですが、たとえば、アクティビティで同じコードを実行しようとすると、私は何の結果も得ていない、同じ古い空の配列だけ。Reflection Class.getDeclaredFields()は何も取得していません
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をほとんどすべて使用していました。
よろしく
「ユーザー」の定義方法など、より多くの情報をお知らせください。 –
さて、ちょうど投稿されたUser.java。ヒントありがとうございます。 –
再生できません。実行していると思うコードを実行していますか? – EJP