我有一个 ListView
对象,它带有从 CursorAdapter
扩展而来的 Adapter
。 onListItemClick()
方法中只有(ListView l, View v, int position, long id)
参数。我需要使用 _id
查询我的数据库以获取当前所选列表的 item
。但我不希望 database
中行的 _id
显示在列表的行中。所以我在 list_item.xml
中创建了额外的 TextView
并通过将其 width
和 height
设置为 使其不可见>0 像素
。因此,在 newView()
上,我可以将列表的项目与其 database
中的 _id
相关联。
我觉得这种方法有点难看。可能还有其他更简洁的解决方案吗?
最佳答案
您可以使用 this ViewHolder 模式,可让您在行的标记中设置自定义对象。您可以将额外的属性添加到 ViewHolder 类(如 _id)并在创建 ViewHolder 对象时设置它们。它还将有助于膨胀和重用 View 的性能。
关于android - 如何将 ListView 中的每个项目与数据库中的 id 相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6988627/