领域关系字段始终为null

Ali*_*eza 0 null android relation realm

有我的模特:

public class RChat extends RealmObject {
    @PrimaryKey
    private String              Id;
    private RMyTest Test;

    public RChat() {}
}
Run Code Online (Sandbox Code Playgroud)

public class RMyTest extends RealmObject {
    @PrimaryKey
    private String myName;

    public RMyTest() {
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用这样的:

mRealm = Realm.getInstance(this);


        mRealm.beginTransaction();
        final RChat chat = mRealm.createObject(RChat.class);
        chat.setId("test");
        RMyTest rProfile = mRealm.createObject(RMyTest.class);
        rProfile.setMyName("alireza test");
        chat.setTest(rProfile);
        //mRealm.copyToRealmOrUpdate(chat);
        mRealm.commitTransaction();

        RChat chat1 = mRealm.where(RChat.class).equalTo("Id","test").findFirst();
Run Code Online (Sandbox Code Playgroud)

但是chat1对象的Test字段始终具有空值.我该如何解决这个问题?

bee*_*der 8

代码看起来正确.如果通过检查调试窗口中的chat1's Test字段获得null ,则将获得null值.这是预料之中的.

Realm将生成代理类并覆盖代理类中的getter/setter.所以,如果你尝试

RMyTest rProfile = chat1.getTest();
Run Code Online (Sandbox Code Playgroud)

我相信你可以得到相应的RMyTestObject而不是null.

此行为记录在此处.