【发布时间】:2016-12-28 17:02:24
【问题描述】:
我有两个对象:MailBox 和 Email。每个 Receiver 有多个Emails。
public class MailBoxRealmModel extends RealmObject {
@PrimaryKey
private long id;
private String name;
private String mailboxId;
private RealmList<EmailRealmModel> emails;
}
public class EmailRealmModel extends RealmObject {
@PrimaryKey
private long EmailId;
private String Name;
private String Text;
private String Tag;
private int Type;
private String Time;
private int Status;
}
如何在向 MailBoxRealmModel 添加电子邮件时使用**realm.insertOrUpdate**?
EmailRealmModel email = new EmailRealmModel();
email.setMessageId(emailID);
realm.insertOrUpdate(email );
mailBoxRealmModel.getEmails().add(email);
我在这一行收到一个空指针异常email:
mailBoxRealmModel.getEmails().add(email);
例外:
原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean io.realm.RealmList.add(io.realm.RealmModel)” 在 com.koa.mailbox.MailBoxActivity$1.execute(MailBoxActivity.java:123) 在 io.realm.Realm.executeTransaction(Realm.java:1253) 在 com.koa.mailbox.MailBoxActivity.test(MailBoxActivity.java:88) 在 com.koa.mailbox.MailBoxActivity.onCreate(MailBoxActivity.java:71) 在 android.app.Activity.performCreate(Activity.java:6876) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350) 在 android.app.ActivityThread.access$1100(ActivityThread.java:222) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:158) 在 android.app.ActivityThread.main(ActivityThread.java:7229) 在 java.lang.reflect.Method.invoke(Native Method)
【问题讨论】:
-
你能显示完整的异常信息吗?
-
我确实添加了我的前任
-
问题是你的
mailBoxRealmModel是一个非托管的RealmObject。您是如何获得mailBoxRealmModel的?
标签: android sqlite android-sqlite realm realm-list