我尝试将Realm对象列表添加到另一个,但是点击了NPE
realm.beginTransaction();
// Add a person
Person person = realm.createObject(Person.class);
person.setId(1);
person.setName(name);
RealmList<Cat> listOfCats = new RealmList<Cat>();
for (int i = 0; i<10; i++){
Cat cat = new Cat();
if(i!=5)
cat.setName("cat "+i);
else
cat.setName("Tung");
listOfCats.add(cat);
}
person.setCats(listOfCats);
// When the write transaction is committed, all changes a synced to disk.
realm.commitTransaction();
行person.setCats
触发此错误:
java.lang.NullPointerException: Attempt to invoke interface method 'long io.realm.internal.Row.getIndex()' on a null object reference
如果我将代码更改为内部 for
循环:
person.getCats().add(cat)
而不是使用单独的领域列表,它可以工作,但我很好奇为什么第一种方式没有,因为以第二种方式编写代码似乎很麻烦。 感谢