这是我的删除功能,它确实找到了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());
解决方法:
您正在尝试删除尚未提交到领域的对象.
在这种情况下,如果由于某种原因您不想再提交该对象,则可以简单地取消该事务.
总结以上是内存溢出为你收集整理的Android realm.io:行/对象不再有效全部内容,希望文章能够帮你解决Android realm.io:行/对象不再有效所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)