如何将一些“元数据”附加到Android Listview项目?

时间:2011-04-22 13:12:12

标签: android listview sqlite

class Venue {
  private int id;
  private String name;
}

我用类似

的东西填充ListView
List<String> venueNames = data.getVenueNames();
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, venueNames));

因此,在用户选择特定列表项后,我想使用场地ID进行SQLite查询,但在创建场地名称时此信息会丢失。你们是如何解决这个问题的?

编辑:我应该提一下,不能保证场地名称是唯一的。

1 个答案:

答案 0 :(得分:7)

你的问题在这里:

List<String> venueNames = data.getVenueNames();

不要那样做。你是那个“失去”信息的人。如果你不想失去它,不要失去它。

最简单的方法是创建ArrayAdapter<Venue>,并让Venue的{​​{1}}返回toString()。然后,在name上致电getItem()将返回ArrayAdapter<Venue>