Как прикрепить некоторые «метаданные» к элементам списка Android? - PullRequest
2 голосов
/ 22 апреля 2011
class Venue {
  private int id;
  private String name;
}

Я заполняю ListView чем-то вроде

List<String> venueNames = data.getVenueNames();
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, venueNames));

Так что после того, как пользователь выберет определенный элемент списка, я хотел бы выполнить SQLite-запрос с идентификатором места, но эта информациятеряется при создании названия места.Как вы, ребята, решаете эту проблему?

РЕДАКТИРОВАТЬ: я должен отметить, что не гарантируется, что название места является уникальным.

1 Ответ

7 голосов
/ 22 апреля 2011

Ваша проблема здесь:

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

Не делайте этого.Вы тот, кто «теряет» информацию.Если вы не хотите его потерять, не теряйте его.

Самое простое - создать ArrayAdapter<Venue> и получить Venue s toString() return name.Затем, вызов getItem() на вашем ArrayAdapter<Venue> вернет Venue.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...