删除RecyclerView中显示的RealmObject

时间:2015-10-14 12:55:13

标签: android android-recyclerview realm

我想从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;
}

我想我没有正确删除它。没有其他原因,因为删除后它仍然存在于查询中。

我做错了什么?提前谢谢

1 个答案:

答案 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