【问题标题】:Realm database?领域数据库?
【发布时间】:2017-11-19 05:55:59
【问题描述】:

java.lang.IllegalArgumentException: 只有有效的托管对象可以 从 Realm 复制。

public class Card_item extends RealmObject
{
    @PrimaryKey
    private String id;

    private String Product_name;
    private String Price;
    private String Quantity;
    private String Image;
    private String count;


    //Write
    public Boolean Save(final Card_item item) {


        if (item == null) {
            save = false;
        } else {
            realm.executeTransaction(new Realm.Transaction() {
                @Override
                public void execute(Realm realm) {
                    try {
                        Card_item card_item = realm.copyFromRealm(item);
                        Log.e("ct",""+card_item);
                        save = true;
                    } catch (Exception e) {
                        e.toString();
                        Log.e("save.....",e.toString());
                        save = false;
                    }

                }
            });
        }
        return save;
    }

【问题讨论】:

  • 你想在这里使用insertOrUpdate,而不是copyFromRealm

标签: android database realm


【解决方案1】:

为了复制Card_Itemitem对象,你的代码应该是这样的

//Write
public Boolean Save(final Card_item item) {


    if (item == null) {
        save = false;
    } else {
        realm.executeTransaction(new Realm.Transaction() {
            @Override
            public void execute(Realm realm) {
                try {
                    Card_item card_item = realm.copyToRealmOrUpdate(item);

                   // OR if you are not using PrimaryKey 
                   // Card_item card_item = realm.insertOrUpdate(item);

                  Log.e("ct",""+card_item);
                    save = true;
                } catch (Exception e) {
                    e.toString();
                    Log.e("save.....",e.toString());
                    save = false;
                }

            }
        });
    }
    return save;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多