PR:記事内に広告が含まれています。

Android ListViewの使い方を解説【スクロール可能なリストを作成】

Android

・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の作成手順は以下の通りです。ここでは、例として果物のリストを表示していきます。

  1. レイアウトファイルにListViewを追加する
  2. リスト表示したい文字列を配列にセットする
  3. 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では複数のデータをリスト形式で表示可能なことが分かりました。今回は基本的なリストを作成しましたが、カスタマイズも可能です。複数レイアウトを組み合わせるなど、柔軟にリスト表示ができるようになっていきましょう。

タイトルとURLをコピーしました