我不确定Android是否有此功能,或者是否有方法可以执行此操作。我查看了Doc,但没有看到任何专门针对此用途的内容。有没有一种可能有用的首选方法?任何帮助非常感谢。
我需要使用TextView会员的议程列表。但是当用户点击一个时,我需要一种方法来访问该议程信息,所以就像存储数据库中的ID以引用该事件信息一样,但是我需要隐藏用户。
答案 0 :(得分:4)
使用setTag()
和getTag()
,无论您喜欢什么类型的对象,都可以传递它。
从评论中添加
我认为最简单的方法是查询数据库几次,而不是让一个Cursor持有所有内容。
例如,如果我们有一个包含以下列的表:events(_id, name, startTime, endTime, people, etc)
。您可以拨打SELECT * FROM events
,但如果您只想要一两个事件的详细信息,这似乎过多。查询SELECT _id, name FROM events
并将其存储在ListView中更有意义。然后你可以:
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
detailCursor = database.rawQuery(`SELECT * FROM events WHERE _id = ?`, new String[] { id });
// Display this event's details somehow
}
}
像这样的辅助光标是最简单的。您没有为使用的事件详细信息分配内存,并且这些重复的次要查询没有显着的性能损失。在这种情况下,我不会在View的标签中存储任何内容,一般光标(包含每个事件的id和名称)和详细光标应该为您提供所需的一切。
希望有所帮助。