Android 更改活动B中的领域数据库后,Realmobject在活动A中丢失引用

Android 更改活动B中的领域数据库后,Realmobject在活动A中丢失引用,android,realm,Android,Realm,我有两个活动,活动A和B。 活动A有一个公司(领域对象)。从活动A开始,我进入活动B。在活动B中,您可以添加产品(领域对象)它保留了对活动a中所选公司的引用。问题是,添加产品后,活动a中公司的引用变为空,我不明白为什么。当您可以使用领域使用公司id获取所选公司时,为什么要从活动a中获取公司引用对象(我假设每个公司都有主键公司Id)仅在活动B中 只需使用intent将公司唯一密钥从活动A传递到活动B。使用该唯一密钥从域中搜索该公司 Company company = realm.where(Com

我有两个活动,活动A和B。
活动A有一个公司(领域对象)。从活动A开始,我进入活动B。在活动B中,您可以添加产品(领域对象)它保留了对活动a中所选公司的引用。问题是,添加产品后,活动a中公司的引用变为空,我不明白为什么。

当您可以使用领域使用公司id获取所选公司时,为什么要从活动a中获取公司引用对象(我假设每个公司都有主键公司Id)仅在活动B中

只需使用
intent
将公司唯一密钥从活动A传递到活动B。使用该唯一密钥从域中搜索该公司

Company company = realm.where(Company.class).equalTo("your company unique key column name",uniqueKeyPassFromActivityAForSelectedCompany).findFirst();
使用此从realm数据库获取的公司对象将其引用到您的产品对象。希望这会有所帮助


注意:我依靠我的内存从其唯一键查找领域对象。因此上述语法可能有拼写错误。

你确定用户打开活动B时活动A中的领域实例没有关闭吗?请提供一些代码。我在暂停时检查了它,但它没有关闭。我无法发布代码,因为它非常大。从我的vie角度来看,这个想法很简单w、 现在我想可能有ANR错误。我尝试在异步模式下使用execute the product insert,但没有成功。只有在活动B中更改数据库时才出现问题。