2015-09-15 1 views
0

Я сделал довольно много слушателей и никогда не думал об этом до сих пор.Android: (setOnItemClickListener) Разница между позицией и идентификатором

Basic ListView слушатель:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      Toast.makeText(getActivity(), "you clicked on: " + position + " id: " + id, Toast.LENGTH_SHORT).show(); 

     } 
    }); 

По documentary:

положения: Положение точки зрения в адаптере.

id: Идентификатор строки элемента, который был нажат.

Может ли кто-то добросердечный объяснить разницу для меня.

Thx заранее ..

ответ

1

В соответствии с положением docs

Положение вида в адаптере.
ID Идентификатор строки элемента, который был нажат.

позиция - это позиция вида внутри родителя. Для вашего случая (ListView) это означает индекс строки. (Начиная с 0) Для ArrayAdapter и SimpleAdapterid - это то же самое, что и позиция. Для CursorAdapter, id - это идентификатор строки таблицы.

Похожие ответы:
Practical Difference Between position and row id in onListItemClick() https://stackoverflow.com/a/25622142/2278598