我做了一个笔记记录应用程序,通过联系人组织笔记。我想要为每个列表项创建一个包含两行的ListActivity。第一行将具有用户分配给注释的基本标题。第二行我想在那里放置联系人姓名。我不知道如何开始这样做。我在过去两天一直在研究,在这里和那里尝试代码,似乎没有任何东西正确地组合在一起。我一直想回到MergeCursor,但是我无法让它正常工作,我找不到任何可以帮助我理解它的好例子。
我的主数据库表是:_id,contactId,title,body,datetime。
创建注释时,内置联系人数据库中的联系人ID将传递到我的数据库中的行。我确信这很简单但我似乎无法得到它!任何帮助表示赞赏!
答案 0 :(得分:1)
尝试使用CursorJoiner。也不建议加入Contacts _ID列,因为这可以通过同步或聚合操作进行更改。使用LOOKUP_KEY上的Contacts。
答案 1 :(得分:0)
我的建议是继续使用MergeCursor并谨慎对待
“调用getColumns,getColumnIndex, etc将返回该行的值 MergeCursor目前是 指着。“
当你需要一个字符串时,就像
一样String body = cursor.getString(cursor.getColumnIndex(MySqlDatabase.KEY_BODY));
这是您应尝试使用的格式,无论MergeCursor
还是常规Cursor
答案 2 :(得分:0)
或者实际上,我可能误解了你的问题,所以我发布了另一个答案。听起来你的布局本身有问题,而不是存储/检索数据的技术部分。
如果是这种情况,我会推荐你Layout Tricks: Creating Efficient Layouts,它会显示你可以做的几件不同的事情。
基本上,有一段声明Linear Layout
的xml代码,它有两个子节点,两个子节点都是TextView
。当您在SimpleCursorAdapter
中使用ListActivity
(我推荐)时,请将SimpleCursorAdapter
构造函数中的最后一个字段“设为”new int[]{R.id.text1, R.id.text2}
,即TextViews
您存储在xml中的{{1}}。
我指的是SimpleCursorAdapter构造函数。
这有帮助吗?