Как передать идентификатор с элементом в ListView? - PullRequest
1 голос
/ 15 марта 2011

У меня есть ListView, который содержит EMPLOYEE_NAME из таблицы БД EMPLOYEE. У некоторых сотрудников могут быть одинаковые имена, что означает, что у меня могут быть дублированные элементы в ListView.

Что было бы лучшим решением для определения того, какой элемент (сотрудник) выбран пользователем? Я знаю, что событие onItemClick возвращает представление, связанное с выбранным элементом, и выполнение ((TextView) представления) .getText () возвращает имя сотрудника.

Но что было бы решением для передачи идентификатора строки вместе с именем сотрудника? Должен ли я расширить TextView, чтобы включить идентификатор строки?

1 Ответ

3 голосов
/ 15 марта 2011

OnItemClick содержит длинный параметр id, который вы хотели бы использовать:

onItemClick(AdapterView<?> parent, View view, int position, long id)

Итак, если вы используете CursorAdapter, единственное, что вам нужно сделать, это убедиться, что строка идентификатора в базе данных называется _id.

Если вы используете адаптеры другого типа, например, BaseAdapter, вам необходимо переопределить метод getItemId, в котором вы вернете идентификатор сотрудника.

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