Realm.io,在尝试将列表设置为领域对象时获取NPE

时间:2015-07-14 02:57:12

标签: android realm

我尝试将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)

而不是使用单独的领域列表,它可以工作,但我很好奇为什么第一种方式没有,因为以第二种方式编写代码似乎很麻烦。 感谢

0 个答案:

没有答案