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

ListViewはスマホの限られたスペースでスクロールすることで多くの情報を扱えるためとても便利です。Kotlinでの簡単な文字列のリストをListViewで作成してみてみましょう。
 
1x1.trans - [Android & Kotlin] ListView と ArrayAdapter 簡単なテキストリストの表示



 
Android Studio 3.5.3
API 29

 




ListView

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


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


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

ArrayAdapterのレイアウトを変更

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



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


list.xml


 

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

listview 00 100x100 - [Android & Kotlin] ListView と ArrayAdapter 簡単なテキストリストの表示
スマホでは色々な場面でリスト表示が使われます。リストのitemはダイナミックに増減できてスクロールすれば限られた画面内で多くの情報を扱えるた...

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

シェアする

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

フォローする