Имам проблем с Realm, който го кара да се срива с NullPointerException всеки път, когато се опитам да задам RealmObject на друг, след като е бил съхранен.
Eg.
Person person = new Person();
person.setName("Martha");
Realm realm = Realm.getInstance(this);
realm.beginTransaction();
realm.copyToRealm(person);
realm.commitTransaction();
Person personFromRealm = realm.where(Person.class).findFirst();
realm.beginTransaction();
Pet pet = new Pet();
pet.setType("dog");
personFromRealm.setPet(pet); <--- This line will crash
realm.commitTransaction();
Не знам какво друго мога да направя, за да предотвратя това. Причината, поради която трябва да направя това, е, че обектът Person трябва да бъде създаден на едно място, а аз искам да добавя животните на друго.
Открих, че това работи:
Realm realm = Realm.getInstance(this);
Person personFromRealm = realm.where(Person.class).findFirst();
realm.beginTransaction();
Pet pet = personFromRealm.getPet();
pet.setType("dog");
realm.commitTransaction();
Това е добре за прости структури от данни. Но аз използвам Realm обекти, които съдържат два или три други RealmObjects и манипулирането им по този начин изглежда като много ненужна работа.
Просто искам да знам дали пропускам нещо. Или ако има по-лесен начин да направите това. Всяка помощ ще бъде високо оценена.
Благодаря