我有两个完全不相关的表格笔记和任务。我需要在一个组合列表视图中同时显示它们。为了实现这一点,给list adapter的组合游标应该有两个表的完整外部连接。
我不确定哪一个是cursorjoiner/mergecursor,有人能举例说明如何实现这一点吗?
(无法更改内容提供程序。所以我必须使用光标。)
编辑:
此外,我需要能够排序在一个组合形式的项目。notes有一个subject列,tasks有一个title列。我希望组合光标按字母顺序排列。
最佳答案
因为sqlite中不支持完全外部联接或右外部联接
如果你现在想了解cursorjoiner和cursormerger,请点击下面的链接
When to use CursorJoiner / MatrixCursor / MergeCursor?
小精灵
如果需要来自两个或多个表的数据,最简单的方法是使用连接这两个表的sql查询。但是,有时您已经有两个独立查询的源(例如基于contentprovider的cursorloader),您可能希望只重用它们,而不创建新的查询。这就是cursorjoiner的用武之地。
http://chariotsolutions.com/blog/post/android-advanced-cursors/
合并器
mergecursor允许您将两个或多个游标显示为单个游标。通过执行sql联合查询,可以获得几乎相同的效果。但是,mergecursor允许您在不同的游标中有不同的列,并且仍然可以合并它们。
关于android - 在Android中的两个表的 ListView 中显示异构数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28055708/