Ответ 1
position
- позиция щелкнутого элемента в вашем адаптере (так что вы можете сделать adapter.getItem(position)
)
row id
- это идентификатор, соответствующий этому элементу, то, что ваш адаптер возвращает в методе getItemId()
.
Я запутался в третьем и четвертом параметрах onItemLongClick (...). Согласно AdapterView.OnItemLongClickListener
position - Позиция представления в списке
id - Идентификатор строки элемента, который был нажат
Я не мог понять, из этого, пожалуйста, пожалуйста.
position
- позиция щелкнутого элемента в вашем адаптере (так что вы можете сделать adapter.getItem(position)
)
row id
- это идентификатор, соответствующий этому элементу, то, что ваш адаптер возвращает в методе getItemId()
.
Позиция - это позиция представления в родительском. Для ListView
это номер строки. Верхняя строка - позиция 0, вторая строка - позиция 1, третья строка - позиция 2 и т.д. Обратите внимание, что если ваш ListView
имеет вид заголовка (например, если вы сделали ListView.addHeaderView(View)
), то представление заголовка будет позицией 0 и фактические строки начнут свою нумерацию в 1.
Иногда id совпадает с позицией, а иногда и другим. Если вы используете ArrayAdapter
или SimpleAdapter
, то они одинаковы (кроме случаев, когда есть вид заголовка, а затем они отключены одним). При a CursorAdapter
(и, следовательно, a SimpleCursorAdapter
) id возвращает идентификатор строки таблицы, то есть _id
. Позиция - это длинный, а не int, потому что в базе данных теоретически может быть больше строк, чем int, тогда как a ListView
не будет.
Вот несколько других связанных ответов:
Позиция вернет все имена или значения, помещенные в эту позицию, например, если вы показываете raj,kamal,prateek
в списке и выбираете позицию 2, она отображает (возвращает) kamal
.
Если вы отправите идентификатор строки, он вернет определенные фиксированные номера или идентификаторы, расположенные в этом элементе, например 1,2,3,4 ...
в той же программе, если вы выберете идентификатор строки, который он вернет 2, а для позиции он вернет kamal
.