Получить идентификатор из текстового представления внутри Listview - PullRequest
1 голос
/ 08 июля 2011

Моя проблема довольно проста, но я не могу ее решить:

Мне нужно получить идентификатор текстового представления внутри списка.Мне это нужно, потому что у меня есть древовидная карта объектов, и при разработке моего приложения мне нужно иметь идентификатор для каждого объекта ... таким образом, идентификатор должен совпадать с идентификатором в просмотре списка.Представьте себе такой сценарий:

Я щелкаю элемент в представлении списка, и этот элемент представляет объект, который хранится в древовидной карте.Единственный способ узнать, по какому объекту щелкнули, - это получить идентификатор от выбранного объекта и затем найти его в древовидной карте.

Проблема заключается в следующем:

_mylistview.getItemIdAtPosition(pos);

Я получаю индекс предмета (он будет равен 'pos'), а не реальный идентификатор.Скажем, это 3-й элемент, он вернет 3 (если я удаляю 2-й элемент, если из старого 3-го будет теперь 2, так что я не могу доверять этим числам в моей реализации).

Есть ли простой способ решить эту проблему?Могу ли я получить реальный идентификатор предмета, который я щелкаю или создаю?

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 08 июля 2011

Как вы точно привязываете данные к списку?

Вы должны переопределить onListItemClick своей логикой.Это получает long id, который вы можете определить (в пользовательском адаптере, если необходимо)

...