首页 > 解决方案 > 减少数据源

问题描述

在我的数据结构中,我正在查询我的数据库并获得一个DataSource.Factory包含我需要减少的行列表并创建一个新的DataSource.Factory. 现在目前要转换我正在使用该map函数的数据,但是因为 map 产生了1:1结果,所以我面临着重复的问题。我需要减少数据并创建另一个数据源。谁能建议我任何适合这种要求的东西?

提前致谢。

Code Sample

class A {
    ...
    List<B> listOfBs;
    ...
}

class B {
   ...
}

现在我有一个 searchDAO,它确实加入了 A 和 B。

所以searchDAO.findEveryWhere()会给我表 A 和表 B 中的行,它们被打包到其中DataSource.Factory之一SearchEntities

现在我正在做datasource.map(new Function<SearchEntity, MergedEntity>(){...})这确实给我带来了另一个DataSource.Factory

但我需要减少和创建 MergeEntity 而不是等量的 MergedEntities。因为该映射数据源正在 ListAdapter 中使用,它正在获取重复的 MergedEntities 只是因为 map 函数将创建与 SearchEntity 数据源中相同数量的 MergedEntities。

标签: androidandroid-databindingandroid-livedata

解决方案


推荐阅读