android - 无法修改写入事务 Realm Android 之外的托管对象

标签 android android-fragments realm

我在更新 Realm 对象时遇到问题。我有 4 个 fragment 。我将值从一个 fragment 转发到下一个 fragment 。总共有16个字段。第一个 fragment 包含 4 个,依此类推。首先,我使用此方法保存 4 前四个字段的对象:-

public static <T extends RealmObject> void InsertRecordinRealm(final Class<T> clazz, final T passedObject, final Integer integerd) {
    Realm realm = getRealmInstance();
    realm.executeTransaction(new Realm.Transaction() {
        @Override
        public void execute(Realm realm) {
            realm.copyToRealmOrUpdate(passedObject);
        }
    });
    realm.close();
}

现在,我使用此方法获取从第一个 fragment 到第二个 fragment 的值:-

public static <T extends RealmObject> T GetRecordById(Class<T> clazz, Integer id) {
    RealmQuery<T> queryForUsern = getRealmInstance().where(clazz).equalTo("RealmId", 1);
    T recordByid = queryForUsern.findFirst();
    return recordByid;
}

在这里我正确地获取了对象。但是,当我使用第二个 fragment 的值更新对象时,我收到此错误“无法在写入事务之外修改托管对象”

在第二个 fragment 中,我正在更新对象:-

public static <T extends RealmObject> void UpdateRecordinRealmByID(final T passedObject, final Class<T> clazz, final Integer Id) {
        Realm realm = getRealmInstance();
        realm.executeTransaction(new Realm.Transaction() {
            @Override
            public void execute(Realm realm) {

                RealmQuery<T> queryForUsern = 
                getRealmInstance().where(clazz).equalTo("RealmId", 1);
                T recordByid = queryForUsern.findFirst();
                recordByid = passedObject;
                realm.insertOrUpdate(recordByid);
            }
        });
        realm.close();
    }

帮助将不胜感激!提前致谢

最佳答案

嗯,就我而言,一旦我将代码移入此 realm.executeTransaction {}<,我就会更新 realm.executeTransaction {} 之外的 Realm 对象的值 错误消失了。

关于android - 无法修改写入事务 Realm Android 之外的托管对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50269983/

相关文章:

android - 如何使选项卡(ActionBar)停止调用其邻居选项卡的 onCreateView()

android - 调用与 fragment 分离的 asynctask 类

ios - 调用 Realm().objects 时使用未实现的初始化程序 'init(realm:schema:)'

android - 未找到默认的 RealmConfiguration。先调用 setDefaultConfiguration()

swift - 在迁移期间删除属性

android - Qt for android 找不到多媒体模块

android - 多个图像进度条加载就像在 Whats App 中一样

android - flutter 热重载在我的设备上不起作用

java - 如何设置指定日期相同ID的闹钟?

android - Activity 默认加载的 fragments 的 Transition