2011-03-24 80 views
0

我做了一个记事本应用程序,通过联系人组织笔记。我正在寻找与两行到每个列表项目创建一个ListActivity。第一行将有一个用户分配给该笔记的基本标题。我想在第二行放置联系人名称。我不知道如何开始这样做。过去两天我一直在研究,在这里和那里尝试代码,没有任何东西似乎能够正确地结合在一起。我一直看似回到MergeCursor,但是我无法正确地工作,我无法找到任何有助于我理解它的好例子。Android - 将数据从两个数据库拖入一个光标

我的主数据库表是:_id,contactId,title,body,datetime。

创建笔记时,内置联系人数据库中的联系人ID被传递到我的数据库中的行。我相信这是简单的,但我似乎无法得到它!任何帮助表示赞赏!

回答

1

尝试使用CursorJoiner。也不建议加入Contacts _ID列,因为这可以通过同步或聚合操作进行更改。在Contacts上使用LOOKUP_KEY

0

我的建议是使用MergeCursor保持和提防

“调用getColumns,getColumnIndex, 等将返回值的行 的MergeCursor目前 指着”。

当你需要一个字符串,从它这样做就像

String body = cursor.getString(cursor.getColumnIndex(MySqlDatabase.KEY_BODY)); 

这是格式,你应该尝试不管MergeCursor或定期Cursor

0

使用或实际上,我可能会误解你的问题,所以我发布了另一个答案。这听起来像是你在布局本身有问题,而不是存储/检索数据的技术部分。

如果是这样的话,我会引用你Layout Tricks: Creating Efficient Layouts,它显示你可以做几件不同的事情。

基本上,有一段XML代码声明Linear Layout有两个子节点,它们都是TextView。当您在ListActivity中使用SimpleCursorAdapter(我推荐)时,请将SimpleCursorAdapter构造函数中的最后一个字段设置为“new int[]{R.id.text1, R.id.text2}”,这是存储在xml中的TextViews的ID。

我指的是SimpleCursorAdapter的构造函数。

这有帮助吗?

+0

谢谢你的答案。实际上,这里描述的是我可以用一个游标/数据库确实做的事情,问题是,我不知道如何将来自两个数据库的数据调用到单个适配器中。对不起,如果我的问题含糊不清,我匆匆写下了它...... – 2011-03-25 09:26:51

+0

您可以尝试设置两个使用两个数据库中相应游标创建的CursorAdapter吗?我从来没有尝试过这样的事情,所以我现在只是抛出一个想法。 – eternalmatt 2011-03-26 02:36:29

相关问题