[Android] ListView と ArrayAdapter 簡単なテキストリストの表示

スマホでは色々な場面でリスト表示が使われます。リストのitemはダイナミックに増減できてスクロールすれば限られた画面内で多くの情報を扱えるためとても便利なわけです。

Android Studio
2021.2.1




ListView

 

ListViewはスクロール可能なアイテムのリストを表示するViewグループです。
Adapterは配列またはデータベースなどからそれぞれの要素をリストに入れられるように変換し自動的に挿入してくれます。
 
1x1.trans - [Android] ListView と ArrayAdapter 簡単なテキストリストの表示


 
ListViewに使うAdapterには用途に応じて ArrayAdapter、BaseAdapter、SimpleAdapter、それ以外にもいくつもあります。
  • ArrayAdapter
    • BaseAdapterを継承して、簡単な TextView のリストを表示する(これを継承してカスタムでアダプターを作ることも可能)
  • SimpleAdapter
    • Mapクラスを使ってリスト項目のレイアウトをカスタマイズする
  • BaseAdapter
    • レイアウトをカスタマイズする場合はこれを継承したカスタムアダプターを作る

今回は簡単なArrayAdapterを使って実装してみたいと思います。
 

 

シンプルなArrayAdapter

 

簡単な ListView(Context context) とArrayAdapterを使った設定方法です。
 
1. ListView インスタンス生成

 
2. setContentView にListViewのインスタンスを設定

 
3. ArrayAdapter のインスタンス生成

 
表示する文字配列 texts を入れますが、simple_list_item_1 は用意されている定義済みのレイアウトファイルのIDです。これを使うとリスト用のレイアウトファイルは不要です。
 
4. ArrayAdapter のインスタンスをListViewに設定

 
MainActivity.java

 
ListViewができました。
 
1x1.trans - [Android] ListView と ArrayAdapter 簡単なテキストリストの表示


 
コードはこれだけです、簡単ですね。
 
 

ArrayAdapterのレイアウトを変更

 

文字を大きくしたり背景色を変えたりと色々バリエーションも可能です。
 
レイアウトを変更したい時は、ArrayAdapter の設定でレイアウトファイルを指定します。
simple_list_item_1 の代わりに自分で設定するレイアウトファイル、例えば list.xml をres\layout\以下に作って設定すればできます。(activity_main.xml は今回使っていません)
 
1x1.trans - [Android] ListView と ArrayAdapter 簡単なテキストリストの表示

表示するリストを変えて、まとめるとこうなります
 
MainActivity.java

list.xml

 

 

Globeの楽曲リストが出来上がりました。曲をタップすると音楽が再生されるように作れば自分のオリジナルリストができますね。

Kotlinではこのようになります。

ListViewはスマホの限られたスペースでスクロールすることで多くの情報を扱えるためとても便利です。Kotlinでの簡単な文字列のリストを...

 
 

    ArrayAdapter
  1. ListView と ArrayAdapter 簡単なテキストリストの表示
  2. ArrayAdapterを使ってレイアウトをアレンジ
  3. ListActivity と ArrayAdapterで画像とテキストをリスト表示
    Basedapter
  1. BaseAdapterで画像とテキストをリスト表示
  2. ListViewリストをタップして画面遷移
  3. ListViewアイテムの移動、削除
  4. ListView アイテム個々の背景、高さなどを変える

 

References:
リストビュー | Android Developers
ListView | Android Developers
ArrayAdapter | Android Developers

シェアする

  • このエントリーをはてなブックマークに追加

フォローする