2017-02-15 59 views
0

我有2個活動,活動A和B. 活動A有一個公司(領域對象)。從活動AI進入活動B.在活動B中,您可以添加產品(領域對象),該產品保持對在活動A中選擇的公司的引用。問題是,在添加產品後,活動A中公司的引用變爲空,而我不明白爲什麼。Realmobject在活動B中更改領域數據庫後丟失參考活動B

+0

您確定用戶打開Activity B時,Activity A中的Realm實例沒有關閉嗎? – skywall

+2

提出一些代碼.. – Stallion

+0

我在onPause中檢查過它並沒有關閉。我無法發佈代碼,因爲它非常大。從我的觀點來看,這個想法很簡單。現在我想可能會有ANR錯誤。我試圖使用異步模式執行產品插入,但它不起作用。只有當我更改活動B中的數據庫時,問題纔會發生。 –

回答

0

爲什麼當您使用領域在公司活動B中使用公司ID(假設每家公司具有主要公司ID)使用領域獲取選定公司時,您將從活動A獲取公司參考對象。

只需使用intent將活動B中活動B的公司唯一鍵傳遞給活動A即可。使用該唯一密鑰從領域搜索該公司

Company company = realm.where(Company.class).equalTo("your company unique key column name",uniqueKeyPassFromActivityAForSelectedCompany).findFirst(); 

使用該公司從領域數據庫取得的對象將其引用到您的產品對象。希望這會有所幫助

注意:我依賴於我的記憶從它的唯一鍵找到領域對象。所以上面的語法可能有錯別字。