chenenyu / lifecycle

Lifecycle support for Flutter widgets.
https://pub.dev/packages/lifecycle
Apache License 2.0
50 stars 6 forks source link

When i use 3+ Navigator and their LifecycleObserver instances i get an exception #19

Closed RodrigoPorras closed 2 years ago

RodrigoPorras commented 2 years ago

I need to use 3 Navigators using LifecycleObserver, but i am getting "Can not get associated LifecycleObserver, did you forget to register it in MaterialApp or Navigator?". each Navigator has an LifecycleObserver instance. i think is caused by line 34 on LifecycleObserver class, when i coment the removeWhere i dont get the error.

this is the code (im using the first one, defaultLifecycleObserver, on GetMaterialApp navigatorObservers)

 Navigator(
  key: Get.nestedKey(0),
  initialRoute: HomeUI.path,
  observers: [
    LifecycleObserver(),
  ],
  onGenerateRoute: (settings) {
    final page = AppRoutes.routes
        .firstWhere((p) => p.name == settings.name)
        .page;
    return MaterialPageRoute(
      settings: settings,
      builder: (context) => page(),
    );
  },
),
CategoriesListUI(),
Navigator(
  key: Get.nestedKey(1),
  initialRoute: ListsUI.path,
  //pages: AppRoutes.routes,
  observers: [
    LifecycleObserver(),
  ],
  onGenerateRoute: (settings) {
    final page = AppRoutes.routes
        .firstWhere((p) => p.name == settings.name)
        .page;
    return MaterialPageRoute(
      settings: settings,
      builder: (context) => page(),
    );
  },
),
chenenyu commented 2 years ago

Plz try 0.4.3

RodrigoPorras commented 2 years ago

@chenenyu thank you.