おはようございます。
Flutter Beginners Hands-onを終えた!
またテキスト通りでは動かなかった。
何となく動かないところにパターンがある気がする。
止まったのは以下の部分
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
// 略
ElevatedButton(
child: const Text("Add"),
onPressed: () => Navigator.pop(context, _title),
onPressed: () => Navigator.pop(context, Todo(_title, _icon)),
),
],
),
),
_iconやIconDataはnullが駄目だと!
class _CreatePageState extends State<CreatePage> { String _title = ""; IconData? _icon; bool _isError = false; void _pickIcon() async { IconData? icon = await FlutterIconPicker.showIconPicker(context); setState(() { _icon = icon; }); }
しかしIconData?でnull チェックをしているはず???
わからなくなったので、2つめのIconDataの後に?をつける!
しかし _iconの下赤線は消えない。
*テキストには2つ目のIconDataには?がついていません。
なぜだ?
悩むこと一日(昨日の夜から、今日の朝)!
ふとこの IconDataって別のところでも宣言していた気が。。。
そこでmy_home_pageに戻って
lass Todo { String title; IconData? icon; Todo(this.title, this.icon); }
IconDataの後ろに?を付けました。(これもテキストにはありません。)
無事動くようになり、最後まで行きました。
私のやり方が正しいのかわかりません。
ただIconDataがnullableになっているとErrorが表示されるので、全てのIconDataに?を付けました。
まだ正しく理解している自信はありませんが、とりあえず動けばOK!!!
少しずつ動くアプリを作ることが出来ています。
先に進みます!