web-dev-qa-db-ja.com

Androidでのアダプターの役割は何ですか?

whenwhere、およびhowアダプターがAndroidのコンテキストで使用されていることを知りたい。

Androidの開発者向けドキュメントからの情報は私にとって不十分であり、より詳細な分析を取得したいと思います。

118
Robin

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

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

42
success_anil

Androidアプリにリストを表示するとします。これには、Androidが提供するListViewを使用します。 ListViewsには実際にはデータ自体が含まれていません。データのないUI要素にすぎません。 Androidアダプターを使用して、ListViewsを設定できます。

Adapterは、その実装がデータを提供し、そのデータの表示を制御するインターフェイスです。 ListViewsは、ListViewの表示を完全に制御する独自のアダプターです。したがって、アダプターは、リストに表示されるコンテンツとその表示方法を制御します。

Adapterインターフェイスには、ListViewとデータを通信するためのさまざまなメソッドが含まれています。 BaseAdapterを実装することにより、独自のアダプターをゼロから作成できます。

public class ArrayAdapter<T> extends BaseAdapter implements Filterable {

// One of the constructors
public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) {
    init(context, resource, textViewResourceId, Arrays.asList(objects));
}

void manyMoreMethods(){} 

}

アダプターを定義しましょう:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
   Android.R.layout.simple_list_item_1, Android.R.id.text1, values);
  • 最初のパラメーター:コンテキスト
  • 2番目のパラメーター:行のレイアウト
  • 3番目のパラメーター:データが書き込まれるTextViewのID
  • 4番目のパラメーター:データの配列
28
Prashant_M

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

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

アナロジー

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

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

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

23
Akhilesh Sinha

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

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

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

  • Androidはいくつかの標準アダプターを提供します。最も重要なのは、ArrayAdapterCursorAdapterです。

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

  • SimpleCursorAdapterは、データベース関連のデータを処理できます。
8
Stephen

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

アダプタは、Viewを何らかの種類のデータソースに接続するスマートな方法です。通常、ビューはListViewになり、データはCursorまたはArrayの形式になります。したがって、アダプターはCursorAdapterまたはArrayAdapterのサブクラスとして提供されます。

4
Jainendra

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

4
WarrenFaith

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

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

2
kamal patidar

アダプターとは?

アダプタは、データを表示するデータのセットAdapterViewの間のリンクです。

AdapterView

AdapterViewsは、アダプターによって指定された子ビューを表示するViewGroupsです。 AdapterViewの例は、ListViewです。

アダプタは、AdapterViewのデータを表示する子ビューも提供します。アダプタは、データを提供し、各アイテムを表すビューを作成します。

アダプターはデータを取得し、それを子ビューとともに、子ビューとデータを表示する親AdapterViewに渡します

2
Akhil

すでに複数の回答がありますが、別の回答をしたいと思います。

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

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

0
Ramesh

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

0
RobertoFRey

アダプタは、リストビューの概念を達成するために単に使用されます。データのリストを表示するだけでなく、カスタムビューも表示します。顧客がより多くのtextview(他のビュー)を持つリストを使用したい場合、Androidのアダプタービューを使用する必要があります。

0
Hemalatha M.R.