领域数据库?

时间:2017-11-19 05:56:00

标签: android database realm

  

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;
    }

1 个答案:

答案 0 :(得分:0)

您的代码应该是这样的,以便复制Card_Item item对象

//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;
}