facebook twitter hatena line email

Flutter/画面遷移/画面遷移イベント検知

提供: 初心者エンジニアの簡易メモ
2019年11月16日 (土) 15:26時点におけるAdmin (トーク | 投稿記録)による版

移動: 案内検索

Scaffoldの画面でイベント検知する

_TextPageState と ArticleTextPage は各々のクラス名を入れる。

class _TextPageState extends State<ArticleTextPage> with RouteAware {
  RouteObserver<PageRoute> routeObserver = new RouteObserver<PageRoute>();

  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
    routeObserver.subscribe(this, ModalRoute.of(context));
  }

  @override
  void dispose() {
    routeObserver.unsubscribe(this);
    super.dispose();
  }

  // 上の画面がpopされて、この画面に戻ったときに呼ばれます
  void didPopNext() {
    debugPrint("didPopNext ${runtimeType}");
  }

  // この画面がpushされたときに呼ばれます
  void didPush() {
    debugPrint("didPush ${runtimeType}");
  }

  // この画面がpopされたときに呼ばれます
  void didPop() {
    debugPrint("didPop ${runtimeType}");
  }

  // この画面から新しい画面をpushしたときに呼ばれます
  void didPushNext() {
    debugPrint("didPushNext ${runtimeType}");
  }

参考:https://qiita.com/najeira/items/89d8014a30102204babb