過去の質問の文脈に関連する質問であるのですが、複数の質問については投稿を分けてくださいという指摘を受けたことがあるため重ねてで申し訳ございませんが、ご質問させてください。
//here1
の結果について、DartPadにおいて
[Container(color: Color(0xfff44336)), Container(color: Color(0xff2196f3))]
という結果を期待していて、下記のコードを作成しているのですが、実際には、
[Container(bg: Color(0xfff44336)), Container(bg: Color(0xff2196f3))]
という ドキュメントにもないプロパティに勝手に変更されていることがわかりました。
Dart
import 'package:flutter/material.dart'; import 'dart:math'; void main() => runApp(TopPage()); class TopPage extends StatelessWidget { final List<Widget>? _tiles =[ Container( color:UniqueColorGenerator.getColor(), child: Padding(padding: EdgeInsets.all(100.0)) ), Container( color:UniqueColorGenerator.getColor(), child: Padding(padding: EdgeInsets.all(100.0)) ), ]; Widget build(BuildContext context) { print( _tiles); //here1 return MaterialApp( home:Scaffold( appBar:AppBar( title:Text("TESTING"), ), body:Row( children: <Widget>[Container(color: Color(0xff2196f3),width: 48.0,height: 48.0,), Container(color: Color(0xfff44336),width: 48.0,height: 48.0,)], //here2 ), ) ); } } class UniqueColorGenerator { static List _colorOptions = [ const Color(0xff2196f3), const Color(0xfff44336), ]; static Random _random = Random(); static Color getColor() { final selectedColor = _colorOptions.removeAt(_random.nextInt(_colorOptions.length)); print(selectedColor); return selectedColor; } }
その結果、//here2
について以下のようにしたいのですが、
Dart
body:Row( children: _tiles, ),
下記のようにエラーが出て型が合わないと言われます。
The argument type 'List<Widget>?' can't be assigned to the parameter type 'List<Widget>'. ),
もちろん、上記のコードのように、
Dart
body:Row( children: <Widget>[Container(color: Color(0xff2196f3),width: 48.0,height: 48.0,), Container(color: Color(0xfff44336),width: 48.0,height: 48.0,)], //here2 ),
とすれば、何も問題なく実行されるのですが、何故ってに公式にはないbdプロパティに変わってしまい、動作できないのでしょうか?ご存知の方が入ればご教示願えれば幸いです。
よろしくお願い申し上げます。
まだ回答がついていません
会員登録して回答してみよう