Size: a a a

Dart & Flutter по-русски

2020 March 28

i

ilx in Dart & Flutter по-русски
Alex Kharechko
виджет уничтожайте или канал, кейс не понятен
без навигейт.пуш потому что я перехожу на другой скрин с боттом нав бар.
источник

AK

Alex Kharechko in Dart & Flutter по-русски
new WillPopScope(child: new Scaffold(), onWillPop: _willPopCallback)
источник

i

ilx in Dart & Flutter по-русски
у меня скрины реализованы так Widget main(){тут канал}, Widget second(){тут второй скрин где не нужен канал}
источник

AK

Alex Kharechko in Dart & Flutter по-русски
всмысле действием «назад» на телефоне выходите:
источник

i

ilx in Dart & Flutter по-русски
Alex Kharechko
всмысле действием «назад» на телефоне выходите:
да)
источник

AK

Alex Kharechko in Dart & Flutter по-русски
Alex Kharechko
new WillPopScope(child: new Scaffold(), onWillPop: _willPopCallback)
оберните виджет
источник

i

ilx in Dart & Flutter по-русски
Alex Kharechko
new WillPopScope(child: new Scaffold(), onWillPop: _willPopCallback)
это внутрь виджета ставить?
источник

i

ilx in Dart & Flutter по-русски
или на ивент нажатие на навбаре?
источник

AK

Alex Kharechko in Dart & Flutter по-русски
я хз может есть конечно проще решение… чета е нравится мне ну гугл вот такое выдает
источник

AK

Alex Kharechko in Dart & Flutter по-русски
нет этим надо обернуть виджет где канал, и на выходе изнего сработает колбэк
источник

AK

Alex Kharechko in Dart & Flutter по-русски
_willPopCallback
источник

AK

Alex Kharechko in Dart & Flutter по-русски
можно на обсервер на роуты повесить еще
источник

AK

Alex Kharechko in Dart & Flutter по-русски
тут как бы надо смену роута отловить
источник

i

ilx in Dart & Flutter по-русски
Alex Kharechko
я хз может есть конечно проще решение… чета е нравится мне ну гугл вот такое выдает
if (channel != null)
         channel.sink.close();  
       channel = IOWebSocketChannel.connect('ws://185.173.93.148:5600');
       channel.sink.add('conn');
источник

i

ilx in Dart & Flutter по-русски
вот так решил
источник

i

ilx in Dart & Flutter по-русски
но стрим жив остается
источник

i

ilx in Dart & Flutter по-русски
много кратно зовет
источник

AK

Alex Kharechko in Dart & Flutter по-русски
MaterialApp(
 navigatorObservers: [
   YourObserver(),
 ],
)
c
lass YourObserver extends NavigatorObserver {
 YourObserver() : super();

 didPush(Route<dynamic> route, Route<dynamic> previousRoute) {
 }

 didPop(Route<dynamic> route, Route<dynamic> previousRoute) {
 }

 changePlayerView(Route<dynamic> route) {
 }
}
типа того можно еще, но актуально ли тут вам виднее как отловить роут
источник

AK

Alex Kharechko in Dart & Flutter по-русски
ilx
но стрим жив остается
осталось его уничтожить
источник

AK

Alex Kharechko in Dart & Flutter по-русски
if (channel != null) {channel.dispose()} или че там?
источник