Почему Android onItemClick хочет длинный идентификатор строки? - PullRequest
3 голосов
/ 21 декабря 2010

Для listView, когда вы регистрируете OnItemClickListener, указанный вами метод выглядит следующим образом:

public abstract void onItemClick (родительский объект AdapterView, View view, int position, long id)

Идентификатор соответствует строке, по которой щелкнул пользователь.Мой вопрос просто почему это длинный, а не int?Когда бы вы использовали его как долго?Когда я его использую, я приводил его к типу int, и это заставляет меня думать, что, возможно, я использую это неправильно.

Ответы [ 2 ]

6 голосов
/ 21 декабря 2010

Я думаю, что это приходит к нам прямо из SQLite :

В SQLite каждая строка каждой таблицы имеет 64-разрядное целое число со знаком ROWID. ROWID для каждого ряда уникален среди все строки в одной таблице.

Учитывая это, кажется естественным, что API-интерфейсы Android будут указывать 64-битный идентификатор для строки базы данных.

2 голосов
/ 21 декабря 2010

На всякий случай, если вам нужно более нескольких миллионов строк.

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