次の方法で共有


Xamarin.Android ListView のパーツと機能

ListView は、次のパーツで構成されます。

  • – リスト内のデータの表示形式。

  • アダプター – データ ソースをリスト ビューにバインドする非ビジュアル クラス。

  • 高速スクロール – ユーザーがリストの長さをスクロールできるようにするハンドル。

  • セクション インデックス – リスト内の現在の行が配置されている場所を示すためにスクロール行の上に浮動するユーザー インターフェイス要素。

これらのスクリーンショットでは、基本的な ListView コントロールを使用して、高速スクロールとセクション インデックスのレンダリング方法を示します。

Screenshots of apps using Plain old rows, fast scrolling, and section index

ListView を構成する要素については、以下で詳しく説明します。

行数

各行には独自の View があります。 ビューは、Android.Resources で定義されている組み込みビューのいずれか、またはカスタム ビューにすることができます。 各行で同じビュー レイアウトを使用することも、すべて異なるものにすることもできます。 このドキュメントの例には、組み込みのレイアウトを使用するものや、カスタム レイアウトを定義する方法を説明するものがあります。

アダプター

ListView コントロールには、各行の書式設定された View を指定するための Adapter が必要です。 Android には、使用できるアダプターとビューが組み込まれています。カスタム クラスを作成することもできます。

高速スクロール

ListView に多数のデータ行が含まれている場合は、ユーザーがリストの任意の部分に移動できるように、高速スクロールを有効にすることができます。 高速スクロールの "スクロール バー" は、必要に応じて有効にできます (API レベル 11 以降でカスタマイズできます)。

セクション インデックス

長いリストをスクロールすると、オプションのセクション インデックスによって、現在表示されているリストの部分に関するフィードバックがユーザーに提供されます。 これは長いリストにのみ適しており、通常は高速スクロールと組み合わせて使用されます。

クラスの概要

ListViews の表示に使用される主なクラスを以下に示します。

UML diagram illustrating relationships between ListView and associated classes

各クラスの目的を以下で説明します。

  • ListView – 行のスクロール可能なコレクションを表示するユーザー インターフェイス要素。 電話では通常、画面全体が使い果たされる (その場合は、ListActivity クラスを使用できます) か、電話やタブレット デバイスのより大きなレイアウトの一部になる可能性があります。

  • View – Android のビューは任意のユーザー インターフェイス要素にすることができますが、ListView のコンテキストでは、各行に View を指定する必要があります。

  • BaseAdapterListView をデータ ソースにバインドするためのアダプター実装の基本クラス。

  • ArrayAdapter –表示用の ListView に文字列の配列をバインドする組み込みアダプター クラス。 ジェネリック ArrayAdapter<T> では、他の型でも同じ処理が行われます。

  • CursorAdapter – SQLite クエリに基づいてデータを表示するには、CursorAdapter または SimpleCursorAdapter を使用します。

このドキュメントには、ArrayAdapter を使用する簡単な例と、BaseAdapter または CursorAdapter のカスタム実装を必要とするより複雑な例が含まれています。