私はRealmのLinkingObjectに関するヘルプが必要です。これらの簡単なコードを見てください:私はLinkingObjectsはあなたが戻ってあなたの親に参照することができます理解して何から、今Android:RealmはLinkingObjectsを理解します
realm.beginTransaction();
Product prod = new Product();
prod.setProdId(1);
prod.setName("Test");
prod = realm.copyToRealm(prod);
ProductItem prodItem = new ProductItem();
prodItem.setProdId(prod.getProdId());
prodItem.setProdItemId(1);
prodItem.setItemCode("00231");
prodItem.setPrice(9.95);
prodItem.getProductItems().add(realm.copyToRealm(prodItem));
realm.commitTransaction();
:
その後public class Product extends RealmObject
{
@PrimaryKey
private int prodId;
@Required
private String name;
private RealmList<ProductItem> productItems;
@LinkingObjects("productParent")
private final RealmResults<ProductItem> linkProductItems = null;
...
...
...
}
public class ProductItem extends RealmObject
{
@PrimaryKey
private String primaryKey;
private int prodId;
private int prodItemId;
private String itemCode;
private double price;
private Product productParent;
...
...
...
public Product getProductParent()
{
return productParent;
}
}
、私はこれを行うことにより、サンプルデータを追加しましたか?しかし、次のコードの意志が失敗した:
String sOutput = "";
for (ProductItem prodItem : realm.where(ProductItem.class).findAll())
sOutput += prodItem.getProductParent().getName() + "\n";
問題がbqItem.getProductParent(ある) NULLです。私の質問は、私は正しくLinkingObjectsを行っている?そうでない場合は、私を助けることができますか?
おかげ
あなたが試すことができ '民間tblProduct tblProductParent =新しいtblProduct()を探しています;' tblProductItemクラスで 'BanquetItem'は何ですか –
?上記のコードは 'ProductItem'のものですか? – EpicPandaForce
@EpicPandaForce、upsss ...申し訳ありません... LOL ...間違ったプロジェクトから間違ったコードをコピーして貼り付けます。私はコードを修正しました。それはProductItemであると考えられます。 – Sam