[Flutter]List.generateとListView.builderは何が違うのか

このページには広告が含まれる場合があります。

 

Flutterにおいて、予め骨格が決まっていて中身のデータだけが違う複数のWidgetをひとまとめに扱う場合に

List.generateメソッドを使うやり方と

ListView.builderメソッドを使うやり方がありますが、

両者の違いは、

1)List.generateメソッドはWidgetに限定されない。つまり、戻り値の型はListなので、中身はWidgetに限らずStringでも何にでも使うことができ、並べ方が特定されているわけではありません。

つまり、同一クラスの複数のインスタンスをまとめて扱うだけなので並べ方はColumnやRowなどで指定する必要があります。

 

2)一方、ListView.builderの中身はWidgetに限定され、かつ戻り値はListViewなので縦方向か横方向に一列に並ぶWidgetになります。

 

3)また、List.generateでもListView.builderと同じような表示に仕方はできますが、ListViewの場合はそのリスト内でスクロールできますが、List.generateの場合はリスト内でのスクロールはできないという違いがあるので、List.generateの場合はSingleChildScrollViewなどでスクロールできるように設定しておかないと画面からオーバーフローしてしまうことがあります。

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

こんな記事も読まれています

イチオシ

40代から感じるモヤモヤを解消できる 無料動画セミナー

あすコロ式・40代からの人生アップデート【新】戦略

アラフォーでキャリアを失ったバリバリ左脳人間・スピリチュアル耐性ゼロの元金融マンが、人生どん底から立ち上がる過程でたどり着いた「人生再構築メソッド」。40代・50代を過ぎて多くの人が感じる「このままでいいんかな?」「この先どうしたらいいかわからない」というモヤモヤを解消し、人生後半戦をアップデートさせる【新】戦略。

今すぐ無料で動画セミナー(80分)を見る ▶

TOP