Menu
CoddyTech

リストからウィジェットを作成

CoddyのFlutterジャーニー「はじめてのアプリ」セクションの一部。レッスン 29/32。

項目ごとにTextを1つずつ書くと長くなり、リストが変わると動作しなくなります。Dartでは、リスト内でforを使ってウィジェットを自動生成できます。

List<String> colors = ['red', 'green', 'blue'];

Column(
  children: [
    for (String color in colors) Text(color),
  ],
)

次のように読みます。colors内の各colorについて、Text(color)を追加します。Columnには3つのテキストが入り、リストに4つ目の色を追加すると、4つ目のテキストも自動的に表示されます。

challenge icon

チャレンジ

簡単

列には最初の2つの惑星だけが表示されています。2つのText行の代わりに、planetsリストに対する1つのforを使って、4つすべてを順番に表示してください。

自分で試してみよう

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              Text(planets[0]),
              Text(planets[1]),
            ],
          ),
        ),
      ),
    );
  }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

はじめてのアプリのすべてのレッスン

自分で練習してみよう: Flutterオンラインコンパイラ