领域事务状态异常

时间:2017-01-22 22:11:33

标签: android database realm

尝试了解hot以解决相当常见的异常:

Changing Realm data can only be done from inside a transaction.

下一个代码:

realm.isInTransaction();//returns true
realmList.add(object);//IllegalStateException is thrown

如上所述[{3}},很可能Realm.getDefaultInstance()在几个地方使用。但事实并非如此,我刚刚删除了所有realm实例用法。有没有办法理解它为什么会发生?因为异常消息完全没有意义:它表示事务应该从事务内部完成,同时realm.isInTransaction返回true。 executeTransaction无效。

1 个答案:

答案 0 :(得分:0)

虽然异常消息在大多数情况下具有误导性,但问题出在不同的Realm个实例中。检查整个代码并找到所有来电:Realm.getInstanceRealm.getDefaultInstance。如果领域对象由Realm.getInstance(x)创建,则无法与Realm.getInstance(y)Realm.getDefaultInstance()一起使用。