我有一个课程如下:
public class SomeStuff extends RealmObject {
public RealmList<CatDetails> cat;
public RealmList<CatDetails> getcat() {
return cat;
}
public void setCat(RealmList<CatDetails> cat) {
this.cat = cat;
}
}
和这里的CatDetails:
public class CatDetails extends RealmObject {
@Index String catNumber;
@Index String catName;
// setters and getters for catName and catNumber
}
现在我如何从字段cat
中删除一个元素?也就是说,我希望将班级SomeStuff
中的arraylist的大小减少1。
我试过了:
realm.where(SomeStuff.class).findAll().get(pos).getCatDetails().get(0).deleteFromRealm();
以及:
realm.where(SomeStuff.class).findAll().get(pos).getCatDetails().deleteAllFromRealm();
但是在两种情况下填充recyclerview时都会得到一个ArrayIndexOutOfBoundsException。
答案 0 :(得分:0)
删除:
realmList.get(0).deleteFromRealm();
但值得注意的是,表在事务中立即更新,因此仅使用增强的for循环并不像在RealmResults上那样工作。使用iterator()
的正常remove()
会起作用。