【问题标题】:Display RealmList as child of RealmList [closed]将 RealmList 显示为 RealmList 的子项 [关闭]
【发布时间】:2016-08-23 11:37:19
【问题描述】:

我需要在以下布局中显示两个相关的领域对象列表(入口和关联的门):

入口 A IN=130 OUT=80
门 1 IN=23 OUT=12
门 2 IN=45 OUT=23
门 3 IN=62 OUT=45

入口 B IN=6543 OUT=675
门 1 IN=23 OUT=12
门 2 IN=45 OUT=23
门 3 IN=62 OUT=45
4号门进1234出=234

如您所见,GATES 与 ENTRANCES 相关联,并且一个入口中的大门可能比另一个入口多。 我已经创建并填充了 Realm 对象,但我不知道如何显示数据。我已成功使用 RealmRecyclerView 显示单个对象列表,但不知道如何使用它在列表中显示列表。

【问题讨论】:

  • 使用 ExpendableListView。它基本上是可以折叠/展开的嵌套列表

标签: android listview android-recyclerview realm


【解决方案1】:

您必须为您的 RecyclerView 创建一个适配器,该适配器可以显示来自多个 RealmResults 的元素,您将其视为列表。您必须计算组数和组内元素的总数来定义您的getItemCount(),并确定每个位置是组还是元素,并为给定位置绑定正确的项目。

不要忘记为相关表或 Realm 实例本身添加 RealmChangeListener

【讨论】:

  • 那么我是否会将 Entrances 列表传递给适配器并从适配器内部查询领域以获取每个 Entrance 的 Gates 列表?每个入口的门数不一定相同。我将如何配置布局?我还需要在收到新数据时更新入口和大门。
  • 这个问题我以前解决过,但从来没有抽象过,解决的关键是private Map<Integer, RealmResults<Channel>> groupPositionToChannelsMap = Collections.emptyMap();private Map<Integer, Integer> groupPositionToRealmIndexMap = Collections.emptyMap();
  • 我用过这个github.com/luizgrp/SectionedRecyclerViewAdapter,它似乎可以完成这项工作。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多