我有一个ListView
个对象Adapter
从CursorAdapter
扩展而来。 (ListView l, View v, int position, long id)
方法中只有onListItemClick()
个参数。对于当前选择的列表_id
,我需要使用item
查询我的数据库。但我不希望_id
中database
行的TextView
显示在列表的行中。因此,我在list_item.xml
中创建了其他width
,并通过将其height
和0px
设置为newView()
使其无形。因此,在_id
上,我可以将列表的项目与database
中的{{1}}相关联。
我发现这种方法有点难看。可能还有其他更整洁的解决方案吗?
答案 0 :(得分:2)
您可以使用View.setTag()
将关联自定义对象设置为从自定义CursorAdapter
返回的任何视图。然后从onListItemClick()
。
答案 1 :(得分:2)
您可以使用this ViewHolder模式,它可以让您在行的标记中设置自定义对象。您可以将其他属性添加到ViewHolder类(如_id),并在创建ViewHolder对象时设置它们。它还有助于扩展和重用视图。