ベストアンサー1
これらのメソッドは、リストのデータにアクセスするためのよりクリーンなアプローチであると私は考えています。 などを介してアダプタ オブジェクトに直接アクセスする代わりに、 のようmyListData.get(position)
にアダプタを呼び出すだけですadapter.get(position)
。
についても同様ですgetItemId
。通常、リスト内のオブジェクトの一意の ID に基づいて何らかのタスクを実行する場合にこのメソッドを使用します。これは、データベースを操作する場合に特に便利です。返される は、データベースid
内のオブジェクトへの参照である可能性があり、これに対してさまざまな操作 (更新/削除など) を実行できます。
したがって、生のデータ オブジェクトから ID にアクセスする代わりに、myListData.get(position).getId()
を使用できますadapter.getItemId(position)
。
これらの方法を使う必要があると感じた例の1つは、分離されたリストビューアダプタこのアダプタには、それぞれが異なるタイプ(通常)のデータを表す複数の異なる種類のアダプタを含めることができます。getItem(position)
を呼び出すとSeparatedListViewAdapter
、返されるオブジェクトは、送信する位置がどの「セクション」であるかによって異なる場合があります。
例えば、リストに2つのセクション(フルーツとキャンディー)があった場合getItem(position)
:position
フルーツセクションでは、アイテムを指定してgetItem(position)
リクエストした場合とは異なるオブジェクトが返されます。position
あめセクション。次に、返されるgetItemId(position)
データの種類を表す定数 ID 値を返したりgetItem(position)
、instanceof
所有しているオブジェクトを特定するために使用したりします。
私が言及した以外では、これらの方法を本当に使う必要があると感じたことは一度もありません