Flutterで戻るボタンをクリックしたときに実行する方法 質問する

Flutterで戻るボタンをクリックしたときに実行する方法 質問する

下のタブナビゲーションから呼び出され、initState 関数を実行するページがあり、ボタンをクリックして詳細と実行するアクションがあるページに移動しますが、元のページに戻るために [戻る] ボタンをクリックしても、initState が再度実行されません。Flutter はページを一番上に配置してもページを破棄しないため、NAV はメニュー内にないため新しいページにないため、戻るボタンをクリックしたときに initState を再度実行するにはどうすればよいですか。または、[戻る] ボタンから移動してデータを更新する必要があるコードを実行することをリッスンする別の方法はありますか。

どんな助けでも大歓迎です。

ベストアンサー1

ポップを聴くとウィルポップスコープ(ユーザーが囲んでいる [ModalRoute] を閉じる試みを拒否するコールバックを登録するウィジェットを作成します。 -> ドキュメントより):

@override
Widget build(BuildContext context) {
 return WillPopScope(
  onWillPop: () {
    print('Backbutton pressed (device or appbar button), do whatever you want.');

    //trigger leaving and use own data
    Navigator.pop(context, false);

    //we need to return a future
    return Future.value(false);
  },
  child: Scaffold(
  ...
  ),
 );
}

うまくいけば、あなたの質問を正しく理解し、それが役立つでしょう :)!

おすすめ記事