Android: как получить выбранный элемент в списке с помощью курсора? - PullRequest
3 голосов
/ 25 мая 2011

Я очень новичок в Android.

Может кто-нибудь сказать мне, как я могу получить выбранный элемент из ListView, когда данные поступают из Cursor

Спасибо.

Ответы [ 2 ]

3 голосов
/ 25 мая 2011

Если вы создали ListActivity (в котором есть ListView), метод onListItemClick() вызывается при каждом нажатии на запись в списке. Этот метод имеет параметр long id, который содержит идентификатор выбранного элемента.

Идея заключается в том, что каждая запись в вашей базе данных SQLite имеет уникальный идентификатор (используя auto_increment). Если вы установите ListActivity на SimpleCursorAdapter, вам понадобится столбец с именем _id (если у вас есть ID-столбец с другим именем, используйте функцию AS). Этот столбец автоматически используется для определения идентификатора выбранной записи.

Допустим, одна из ваших записей имеет идентификатор 12, и этот идентификатор находится в столбце _id. Если вы выберете эту запись из ListView, id -метод onListItemClick() -метода будет содержать значение 12.

Это самый простой способ, если вы используете базу данных для своего контента (как в блокноте).

1 голос
/ 25 мая 2011

Вы устанавливаете OnItemClickListener для ListView, используя метод setOnItemClickListener.

В этом методе у вас есть выбранная позиция, и вы можете вызвать метод getItem вашего адаптера для этой позиции.

Вы, вероятно, должны переопределить getItem в своем адаптере, чтобы вернуть правильно построенный объект из вашего домена.

...