SimpleDialog を閉じるときに値を返すの?|SimpleDialog|Flutter

 

API「showDialog<T>」を使って表示した「SimpleDialog」は、API「Navigator.pop」で閉じられるけど、同時に値も返せるよ。そりゃあ、「SimpleDialog」は選択ダイアログなんだから、返せないと困るんだけど。

API「showDialog<T>」の「<T>」は、その戻り値の「型」だ。


使い方

final result = await showDialog<int>(
  context: context,
  builder: (BuildContext context) {
    return SimpleDialog(
      title: Text(
        'このゴマフアザラシはマッチョですか?'
      ),
      children: <Widget>[
        SimpleDialogOption(
          onPressed: () => Navigator.pop(context, 0),
          child: Text('たぶん'),
        ),
        SimpleDialogOption(
          onPressed: () => Navigator.pop(context, 1),
          child: Text('そうだ'),
        ),
        SimpleDialogOption(
          onPressed: () => Navigator.pop(context, 2),
          child: Text('いや、ガリガリだよ'),
        ),
      ],
    );
  },
);

SimpleDialog」の領域外をタップしたりして「SimpleDialog」が閉じられると、戻り値は「null」で返されるよ。


関連する記事


参照した記事


直近に遊んでいた PS4(おすすめ)

コメント

このブログの人気の投稿

ImagePicker を操作すると「Lost connection to device.」とだけ言い残して強制終了するの?|iOS|Flutter

Android SDK バージョン(コンパイルに使用する Android API レベル)を変更するの?|compileSdkVersion|SDK|Android|Flutter