Положение и идентификатор могут совпадать, но в действительности это зависит от используемого вами адаптера.
В основном 2 метода в адаптере определяют, каким будет идентификатор - в случае SimpleCursorAdapter (и быстрый просмотр исходного кода) это поле '_id' из запроса, который создал курсор, но методы в адаптере, которые определяют параметр id:
Adapter.getItemId (int) , который позволяет адаптеру конвертировать из позиции в id объекта, и Adapter.hasStableIds () , который позволяет ListView (или что-либо с использованием Адаптер для его кэширования) - хотя вы, вероятно, можете игнорировать hasStableIds ().
Идентификатор будет возвращаемым значением Adapter.getItemId(int)
, поэтому, если вы используете ArrayAdapter, он будет таким же, как позиция - быстрый поиск исходного кода ArrayAdapter показывает, что он использует return position;
для обработки идентификатора :)
Если вы используете нестандартный адаптер, то это полностью ваше дело.