我已经为我的应用程序创建了一个内容提供程序,我在我的主要活动中使用它与 CursorLoader 和一个列表视图。列表视图显示一些元素。一个元素可以绑定很多标签。
我定义了3个表:元素(_id,描述),标签(_id,描述),元素标签(idElement,idTag)。
在内容提供者的查询方法中,我做了我的加入,但因为一个元素可以有很多标签。我在我的列表视图中得到类似的东西(这也是我查询的结果):
- 元素1 | 标签1
- 元素1 | 标签2
- 元素1 | 标签3
但我想:
- Element1 Tag1 Tag2 Tag3(第一个单元格)
我虽然不想在元素和标签之间建立连接,但在这种情况下,我应该查询光标适配器中每个元素的标签(我猜这很糟糕)。
我还在一个线程上读到,也许非规范化是最好的主意(在元素表中创建一列,其中包含用逗号分隔的元素的标签)。但是当我想获取所有包含标签的元素时,这会很慢。
也许我不得不放下整个 CursorLoader 的事情,并且由于连接查询而只制作一个大哈希图?
我真的很感激你的想法。
提前谢谢你:)