133

Android のコンテキストで、いつどこでどのようにアダプターが使用されるかを知りたいです。

Android の開発者向けドキュメントの情報は私にとって不十分であり、より詳細な分析が必要です。

4

10 に答える 10

49

Androidのアダプターは、基本的にUIコンポーネントと、UIコンポーネントにデータを入力するデータソースとの間のブリッジです。

たとえば、リスト(UIコンポーネント)は、データソース配列からリストアダプターを使用して入力されます。

于 2010-09-09T13:54:44.663 に答える
29

私の理解を共有したいと思います。

これは、データ ソースとレイアウト (ほとんどの場合 ListView) の間のインターフェイスです。

アナロジー

モバイル充電器、またはむしろ USB ケーブルの例を見てみましょう。ワイヤーはアダプターと見なすことができ、データ ソースとレイアウトはそれぞれソケット (プラグイン ポイント) と USB ポート (充電ポイント) として理解できます。

モバイル充電の場合、電源は異なる場合があります (例: パワーバンク、ソケット、またはラップトップからの充電)。Android で使用されるアダプターの場合も同様です。アプリケーションの要件に応じて、データ ソースが変更される場合があります。

つまり、Android のアダプターは、ソース (例: ) からデータを運び、ArrayList<>それをレイアウト (.xml ファイル) に配信します。

于 2016-10-25T14:20:04.933 に答える
8

Android のアダプタは、アダプタ ビュー (例: ListView) とそのビューの基になるデータとの間のブリッジです。アダプターがなかったら世界はどうなっていたか想像してみてください!

  • 垂直方向にスクロールするリストにアイテムを表示するビュー。項目は、ListAdapterこのビューに関連付けられた から取得されます。

  • ListAdapterは、リストの個々の行のレイアウトを定義し、 のメソッドを介して にデータを提供し ListViewます。setAdapter()ListView

  • Android にはいくつかの標準アダプターが用意されています。最も重要なのは ArrayAdapterCursorAdapterです。

  • ArrayAdapter配列またはリストに基づいてデータを処理できます。

  • SimpleCursorAdapterデータベース関連のデータを処理できます。
于 2014-07-30T07:04:08.410 に答える
4

AdapterViewアダプターは、とそのビューの基になるデータの間のブリッジとして機能します。アダプタはデータアイテムへのアクセスを提供し、データセット内の各アイテムのビューを作成する役割を果たします。

アダプタは、Viewある種のデータソースに接続するための賢い方法です。通常、ビューはaListViewであり、データはまたはの形式で提供されCursorますArray。したがって、アダプタはまたはのサブクラスとして提供されCursorAdapterますArrayAdapter

于 2013-01-07T06:26:08.883 に答える
4

アダプターは、基本的にコンテンツの配信に使用されます。おそらくすべてのアプリケーションにあるアダプタの 1 つが CursorAdapter です。これを使用すると、データベース クエリからカーソルによって指定されたコンテンツを配信できます。ListView には、ほとんどの場合、何らかの種類のアダプターがあります。

于 2010-09-09T10:13:47.807 に答える
3

アダプタはデータ モデルを管理し、リスト ビューの個々の行に適応させます。それはBaseAdapterクラスを拡張します。

リスト ビューの各行は、必要に応じて複雑なレイアウトで構成されます。リスト ビューの一般的な行には、左側に画像があり、中央に 2 つのテキスト行があります。

于 2014-07-16T12:29:12.820 に答える
0

すでに複数回答されていますが、私は別の回答をしたいと思います。

アダプターは、そのブリッジプロバイダーができることを意味します。

アダプターは、一連のデータと、データを表示する AdapterView との間のリンクです。

于 2017-09-19T07:35:47.483 に答える
0

最後に、アダプターはレポートを作成するのに非常に役立ちます。何らかの情報のレポートを表示したい場合は、このツールを使用してビューにデータを表示できます。

于 2018-05-28T14:28:33.487 に答える