Почему Android onItemClick хочет иметь длинный идентификатор строки?

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

Public abstract void onItemClick (родитель AdapterView, вид просмотра, позиция int, длинный идентификатор)

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

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

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

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

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