flutter setState не работает после отсоединения жизненного цикла
Мой проект флаттера использует добавление в существующее приложение
Я просто хочу избавиться от виджета, когда активность уничтожает
образец в моем statefulWidget вроде этого
final GlobalKey<OverlayState> _overlayKey = GlobalKey<OverlayState>();
OverlayEntry current;
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
super.didChangeAppLifecycleState(state);
if (state == AppLifecycleState.detached) {
pop();
}
}
@override
Widget build(BuildContext context) {
return Overlay(
key: _overlayKey,
initialEntries: const <OverlayEntry>[],
);
}
void pop() {
current.remove();
setState(() {});
}
void push(OverlayEntry app) {
assert(app != null);
setState(() {
current = app;
overlayKey.currentState.insert(app);
_overlayKey.currentState.setState(() {
});
});
}
кажется, что statefulWidget в OverlayEntry не вызывает метод удаления после отсоединения события жизненного цикла
это просто полезно, когда активность onResume, кто-нибудь мне поможет?