
・ListViewの使い方をが知りたい
・Android Studioでスクロール可能なリストを作成したい
という方に向けた記事になります。
ListViewを使用すると、垂直方向にスクロール可能なリストを作成できます。リストに表示する項目は「配列」または「DBのデータ」より、Adapter(アダプター)を用いて取得します。
本記事では、ListViewの使い方について解説します。Adapterとは?という所から、実際にスクロール可能な以下のようなリストを作成しながらListViewの使い方を見ていきましょう!


Android ListViewとは?


Android ListViewは複数のデータをリスト形式で表示します。データが画面内に収まらない場合は垂直方向にスクロールが可能です。
使用例として、電話帳やチャット履歴があげられます。
ListViewは「Adapter(アダプター)」を利用して、データをリスト表示します。AdapterはListView(UI)とデータソースをつなぐ橋渡し役になります。
ListViewで利用できるAdapterは複数ありますが、基本は「ArrayAdapter」や「BaseAdapter」です。
ArrayAdapterは単純なテキストリストを表示したい場合、BaseAdapterは複雑なレイアウトやビューを含むリストを表示したい場合に使用します。
ArrayAdapterを用いて、単純なテキストリストを表示する方法を見ていきましょう。
Android ListViewの作成手順


Android ListViewの作成手順は以下の通りです。ここでは、例として果物のリストを表示していきます。
- レイアウトファイルにListViewを追加する
- リスト表示したい文字列を配列にセットする
- Adapterを用いてデータをListViewにバインドする
一つずつ見ていきます。
レイアウトファイルにListViewを追加する
まず、レイアウトファイル(activity_main.xml)にListViewを追加して、リストを表示する枠を作成します。
●activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/lvFruit"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
リスト表示したい文字列を配列にセットする
次に、リスト表示したい文字列を配列にセットします。今回は果物のリストを表示するため、果物の名前を配列にセットしていきます。
●MainActivity.java
package com.hyomolution.listviewsample;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[] fruit = {
"イチゴ",
"レモン",
"ミカン",
"カキ",
"パイナップル",
"キウイ",
"グレープフルーツ",
"サクランボ",
"ナシ",
"バナナ",
"アセロラ",
"ビワ",
"ブドウ",
"メロン",
"マンゴー",
"モモ",
"リンゴ",
"ライチ",
"スイカ",
"スモモ"
};
}
}
スクロール可能なリストを作成したいので、少し項目が多いです。
めんどくさい場合はコピペで大丈夫です。
Adapterを用いてデータをListViewにバインドする
先ほど作成した果物リスト(配列)をもとに、ArrayAdapterオブジェクトを作成します。(果物リストをListViewにバインドする前に、一時領域に保存しているようなイメージ。)
ArrayAdapterオブジェクトを作成する際、引数が3つ必要になります。
第一引数「コンテキスト」
第二引数「ListViewの各行のレイアウト(基本的なレイアウトでは以下の文字列)」
第三引数「リストデータ(配列)」
//配列の下に記述してください
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(
this,
android.R.layout.simple_list_item_1,
fruit
);
作成したArrayAdapterオブジェクトをListViewにバインドします。(果物リストのデータがListViewにセットされる)
//ArrayAdapterの下に記述してください ListView listView = findViewById(R.id.lvFruit); listView.setAdapter(arrayAdapter);
以上で、ListViewとリストデータが結びつきました。アプリを実行して、リストデータが画面に表示されるか・スクロール可能かを確認しましょう。


まとめ
Android ListViewの使い方について解説しました。
ListViewでは複数のデータをリスト形式で表示可能なことが分かりました。今回は基本的なリストを作成しましたが、カスタマイズも可能です。複数レイアウトを組み合わせるなど、柔軟にリスト表示ができるようになっていきましょう。

コメント