我想从RealmList(ideaList)向Recyclerview显示一些RealmObjects(想法)。听起来很容易。但是当我尝试删除一个对象时,它会在我执行查询时(用于获取特定用户的所有想法)
代码示例:
查询:
emacsclient --socket-name ~/.emacs.d/server/server -eval "(magit-status \"/Users/louxiu/projects/magit-test-project\")"
删除(的onClick) :
public RealmList<Idea> getIdeaListFromRealm(Context ctx) {
realm = Realm.getInstance(ctx);
RealmQuery<Idea> ideaQuery = realm.where(Idea.class);
RealmResults<Idea> ideaQueryResults = ideaQuery.equalTo("owner.id",""+LoginFragment.loggedOwner.getId()).findAll();
RealmList<Idea> ideaList = new RealmList<>();
ideaList.addAll(ideaQueryResults);
return ideaList;
}
我想我没有正确删除它。没有其他原因,因为删除后它仍然存在于查询中。
我做错了什么?提前谢谢
答案 0 :(得分:2)
您只是从RealmList
删除对象,而 realm.beginTransaction();
ideaQueryResults.remove(position);
// alternatively:
Idea idea = ideaQueryResults.get(position);
idea.removeFromRealm();
realm.commitTransaction();
// from the docs: it will always be more efficient to
// use the more specific change events if you can.
// Rely on notifyDataSetChanged() as a last resort.
notifyItemRemoved(position);
根本不存在。
您可以从结果中删除对象,或直接浏览对象实例。 e.g。
age01 ... age06