Мой фрагмент кода, где происходит ошибка:
private void setupList() {
if (mRealm.isClosed()) {
return;
}
mResult = mRealm.where(X.class)
.equalTo(...)
.findAllAsync();
mResult.addChangeListener(mListener);
}
Ошибка:
Fatal Exception: java.lang.IllegalStateException: Cannot create asynchronous query while in a write transaction in /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsResults.cpp line 252
at io.realm.internal.OsResults.nativeStartListening(OsResults.java)
at io.realm.internal.OsResults.addListener(OsResults.java:405)
Я прочитал о похожих ошибках в разных темах SO и пришел к выводу, что просто не могуdo addChangeListener
, если транзакция не зафиксирована.Означает ли это, что я могу просто поставить beginTransaction
и commitTransaction
до и после mResult = mRealm.where...
или мне придется обрабатывать это по-другому, поскольку я пытаюсь найти результаты асинхронными?