2

リストビューにロング クリック リスナーを設定しています。クリックされた項目のインデックスを使用して、対応するオブジェクトを取得したいと考えています。

Android ドキュメントに従ったメソッド シグネチャとパラメータ定義

public abstract boolean onItemLongClick (AdapterView<?> parent, View view, int position, long id)

Parameters
parent     The AbsListView where the click happened
view       The view within the AbsListView that was clicked
position   The position of the view in the list
id         The row id of the item that was clicked

私の質問は、「位置」と「ID」は常に同じですか? これらの定義は互換性があるように見えますが、違いは何ですか?

4

2 に答える 2

1

IDは、データベースからのID(つまり、_ID)です。positionArrayまたはArrayList内の位置です。

例:IDが1、2、3、4のDBレコードがあり、SQLを使用してレコードを取得する(そして配列またはArrayListにデータを入力する)場合、フィルター(where句)があり、IDを持つ要素のみを表示できます。 1と3。そうすれば、2つの可能なpositions-0と1が得られます。

違いは次のとおりです。行IDは、データ行自体に属する外部IDと考えることができます。逆positionに、リストビューとそのアダプタに「属します」。

于 2011-10-22T13:42:18.543 に答える