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

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

Android Studio 4.1.3
API 30

R904D.P21641J - [Android] ListView と ArrayAdapter 簡単なテキストリストの表示impression?a id=2545321&p id=969&pc id=1263&pl id=47128 - [Android] ListView と ArrayAdapter 簡単なテキストリストの表示

ListView

 
ListViewはスクロール可能なアイテムのリストを表示するViewグループです。
Adapterは配列またはデータベースなどからそれぞれの要素をリストに入れられるように変換し自動的に挿入してくれます。
 
listview a03 - [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ができました。
 
as413 m1 - [Android] ListView と ArrayAdapter 簡単なテキストリストの表示
 
コードはこれだけです、簡単ですね。
 

 

ArrayAdapterのレイアウトを変更

 
文字を大きくしたり背景色を変えたりと色々バリエーションも可能です。
 
レイアウトを変更したい時は、ArrayAdapter の設定でレイアウトファイルを指定します。
simple_list_item_1 の代わりに自分で設定するレイアウトファイル、例えば list.xml をres\layout\以下に作って設定すればできます。(activity_main.xml は今回使っていません)
 
listview list 01 - [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

アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう。

TECH ACADEMY
Androidアプリコース



Code Camp
現役エンジニアによるオンラインプログラミングスクール【CodeCamp】


直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。



侍エンジニア塾
侍エンジニア塾 無料体験レッスン


とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


シェアする

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

フォローする