【Flutter】ListView.builder使い方を3分で解説!(サンプルコードあり)

スクロール可能なリストを簡単に作成したい。
FlutterのListView.builderの使い方がよく分からない

ということで悩んでませんか?

そこで、今回はFlutterListView.builderにおける基本的な使い方サンプルコードアプリ画面で解説します。

ListView.builderを使ことで、チャット・メッセージ、メモ帳アプリの画面を簡単に作成できます。

この記事で分かること!
  • ListView.builderの基本的な使い方

ちなみに、プログラミング初心者は疑問やエラーの解消に時間が掛かり、学習が前に進まなくて挫折することはよくあります。独学でFlutterを学習する場合は、次のことも考えないといけません。

  • 学習の計画
  • スケジュール管理
  • ポートフォリオ作成時に技術選定 など

初心者にとっては大変です。そこで、自走できるまでの手段にスクールを利用するのは1つの手です!Flutterが学べるおすすめスクールはこちらで詳しく解説してます。月2万ほど〜学べるスクールもあるのでご参考にどうぞ。

目次

ListView.builder:スクロール可能なリストを簡単に作成できる

ListViewListView.builderについてFlutter公式サイトをもとに解説します。ListViewを使えば、上記の画像のように簡単にスクロール可能なリストの画面を作成できます。

ListViewについて

A scrollable list of widgets arranged linearly.

(直訳)直線的に配置されたウィジェットのスクロール可能なリスト。

引用:Flutter公式サイト「ListView class」

ListView.builderについて

This constructor is appropriate for list views with a large (or infinite) number of children because the builder is called only for those children that are actually visible.

(直訳)実際に表示されている子に対してのみビルダーが呼び出されるため、多数の (または無限の) 子を持つリストビューに適しています。

引用:Flutter公式サイト「ListView.builder constructor」

画面レイアウトに「表示させたいリスト数が決まってない時」「多数のリストを表示させたい時」などで、動的に表示させるリスト数を変えたいときListView.builderを使いましょう。

例えば、データベースからデータを取得して画面にリストを表示させたい時です。

ListView.builderのサンプルコード

ListView.builderのサンプルコードは以下の通りです。コピペでそのまま使えます。

import 'package:flutter/material.dart';

void main() => runApp(ListviewDemo());

class ListviewDemo extends StatelessWidget {

  //画面に描画するデータリスト作成
  final List<String> texts = [
    'text1', 'text2', 'text3', 'text4', 'text5', 'text6', 'text7', 'text8', 'text9',
    'text10', 'text11', 'text12', 'text13', 'text14', 'text15', 'text16', 'text17',
    'text18', 'text19', 'text20', 'text21', 'text22', 'text23', 'text24', 'text25',
    'text26', 'text27', 'text28', 'text29', 'text30', 'text31', 'text32', 'text33',
    'text34', 'text35', 'text36', 'text37', 'text38', 'text39', 'text40', 'text41',
    'text42', 'text43', 'text44', 'text45',
  ];

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('ListViewデモ'),
        ),
        body: ListView.builder(
          itemCount: texts.length, //要素の数 表示するデータ数の最大値(texts listの最大値)
          //指定した要素の数分を生成
          itemBuilder: (context, index) {
            return ListTile( title: Text('${texts[index]}'),);
              },
        ),
      ),
    );
  }
}
       

ListView.builderで押さえておくべきポイントは以下の3点です。順番に解説していきます。

itemCountリストを作成する要素の数を指定
reverseリストを下から生成する
scrollDirection横スクロール

itemCount

itemCountは、GridViewの表示する値を設定する引数です。サンプルコードでは事前に定義したリストの最大数を設定してます。

itemBuilder

itembuilderでは事前に指定した要素の数に沿って、ウィジェットの作成をします。要素のWidgetを返す(context, index){}のような関数で指定します。

reverse

reverseを指定することでリストを下からスクロースすることが出来ます。

scrollDirection

scrollDirectionを指定する事で横スクロールが可能になります。

まとめ:Flutter入門者はListView.builderを押さえておくべき

今回の記事では、FlutterListView.builderにおける基本的な使い方サンプルコードアプリ画面解説しました。

ListView.builderで押さえておくべきポイントは以下の3点です。

itemCountリストを作成する要素の数を指定
reverseリストを下から生成する
scrollDirection横スクロール


Flutterエンジニアになるには?

初心者が中級者レベルのFlutterエンジニアなるまでの進め方をまとめました。

Flutterの学習方法を知る

Flutter を動画で学ぶ(Udemy)

Flutter をスクールで学ぶ

Flutterの仕事を探す

おまけFlutter入門の完全ガイド

Flutter/Dartの基礎一覧

Flutter/Dartの入門知識として押さえておきたい内容をまとめました。学習のご参考にどうぞ。

Widget一覧

画面レイアウト

ボタン

入力・出力

ページ遷移

状態管理

非同期処理

Dartの基本文法

ライブラリ使い方

目次