如何将ListView中的每个项与数据库中的id相关联

时间:2011-08-08 21:09:13

标签: android

我有一个ListView个对象AdapterCursorAdapter扩展而来。 (ListView l, View v, int position, long id)方法中只有onListItemClick()个参数。对于当前选择的列表_id,我需要使用item查询我的数据库。但我不希望_iddatabase行的TextView显示在列表的行中。因此,我在list_item.xml中创建了其他width,并通过将其height0px设置为newView()使其无形。因此,在_id上,我可以将列表的项目与database中的{{1}}相关联。

我发现这种方法有点难看。可能还有其他更整洁的解决方案吗?

2 个答案:

答案 0 :(得分:2)

您可以使用View.setTag()将关联自定义对象设置为从自定义CursorAdapter返回的任何视图。然后从onListItemClick()

访问此标记

答案 1 :(得分:2)

您可以使用this ViewHolder模式,它可以让您在行的标记中设置自定义对象。您可以将其他属性添加到ViewHolder类(如_id),并在创建ViewHolder对象时设置它们。它还有助于扩展和重用视图。