Flutter Hands-on 3,4 またも動かない!しかし... | 残念おじさんの不器用な挑戦

残念おじさんの不器用な挑戦

千葉県市川市に住んでいます。独身で母上と3匹のチワワと生活しています。守りのITから攻めのITを探求しています。人生を楽しみたいおじさんです。気楽にご意見をください。
仕事、IT、投資、日々の出来事を書きます。

おはようございます。

 

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!!!
 
少しずつ動くアプリを作ることが出来ています。
 
先に進みます!