Android realm.io:行/对象不再有效

这是我的删除功能,它确实找到了workday1对象:

public static void delete(Context context, Workday workday) {
    Realm realm = getRealm(context);
    realm.beginTransaction();

    Workday workday1 = realm.where(Workday.class)
            .equalTo("date", workday.getDate())
            .equalTo("hours", workday.getHours())
            .equalTo("minutes", workday.getMinutes())
            .findFirst();

    workday1.removeFromRealm();
    realm.commitTransaction();
}

当执行removeFromRealm方法时,它崩溃:

java.lang.IllegalStateException:非法状态:行/对象不再有效,无法对其进行操作.它被删除了吗?

我怎样才能解决这个问题?任何帮助将不胜感激.

UPDATE(我可以打印以下方法返回的内容):

    Workday workday1 = realm.where(Workday.class)
            .equalTo("date", workday.getDate())
            .equalTo("hours", workday.getHours())
            .equalTo("minutes", workday.getMinutes())
            .findFirst();

    System.out.println("--------------------------------");
    System.out.println(workday1.getHours());

解决方法:

您正在尝试删除尚未提交到领域的对象.

在这种情况下,如果由于某种原因您不想再提交该对象,则可以简单地取消该事务.

上一篇:Shiro源码分析----登录流程


下一篇:Shiro源码分析----登录流程