29

postionrow idのの違いについて混乱していListActivity.onListItemClick()ます。

ドキュメントには次のものがあります。

position  The position of the view in the list
id        The row id of the item that was clicked

2つの間に実際的な違いはありますか?2 つの異なるパラメーターがあるため、値が異なる状況があると思いますが、ドキュメントで使用されている表現に基づいて、その違いが何であるかを理解するのは困難です。Cursorそのうちの 1 つが、またはその他の特別な機能によって提供されるデータベースの行 ID の値を保持できるということですか?

4

2 に答える 2

34

position : リスト内のビューの位置
id : クリックされた項目の行 ID

位置は 0 から始まり、ListView の上から下までですが、適切な行 ID を取得するには、アダプターに渡されたカーソルに、テーブル内の各行の一意の ID を表す「_id」という列が含まれていることが重要です。 .

ArrayAdapter を使用している場合は、同じpositionidなります。id は の戻り値にAdapter.getItemId(int)なるため、ArrayAdapter を使用すると位置と同じになります。ArrayAdapterソース コードをすばやく検索すると、戻り位置が使用されていることがわかります。IDを解決します。

于 2012-10-19T01:08:25.643 に答える