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

Android7 

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

    ArrayAdapter

  1. ListView と ArrayAdapter 簡単なテキストリストの表示
  2. ArrayAdapterを使ってレイアウトをアレンジ
  3. ListActivity と ArrayAdapterで画像とテキストをリスト表示
    Basedapter

  1. BaseAdapterで画像とテキストをリスト表示
  2. ListViewリストをタップして画面遷移
  3. ListViewアイテムの移動、削除


 

Android Studio 2.2.2
Android 7.1.1

 

sponsored link

ListView

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

ListViewに使うAdapterにはArrayAdapter、BaseAdapter、SimpleAdapterがあります。

  • ArrayAdapter
    • BaseAdapterを継承して、簡単な TextView のリストを表示する(これを継承してカスタムでアダプターを作ることも可能)
  • BaseAdapter
    • レイアウトをカスタマイズする場合はこれを継承したカスタムアダプターを作る
  • SimpleAdapter
    • Mapクラスを使ってリスト項目のレイアウトをカスタマイズする

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

ArrayAdapter

 
簡単な ListView(Context context) とArrayAdapterを使った設定方法です。

1. ListView インスタンス生成
ListView listView = new ListView(this);

2. setContentView にListViewのインスタンスを設定
setContentView(listView);

3. ArrayAdapter のインスタンス生成
ArrayAdapter arrayAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, texts);

そこへ、表示する文字配列 texts を入れる
simple_list_item_1 は用意されている定義済みのレイアウトファイルのIDです。
これを使うとレイアウトファイルはいりません

4. ArrayAdapter のインスタンスをListViewに設定
listView.setAdapter(arrayAdapter);

 
ListViewができました。
 
listview_1_0
 
コードはこれだけです、簡単ですね。
 

レイアウト修正

 
文字を大きくしたり背景色を変えたりと色々バリエーションも楽しめます。

レイアウトを変更したい時は、ArrayAdapter の設定でレイアウトファイルを指定します。
simple_list_item_1 の代わりに自分で設定するレイアウトファイル、例えば list.xml をres\layout\以下に作って設定すればできます。

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

MainActivity.java

list.xml

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