【发布时间】:2019-07-15 10:33:09
【问题描述】:
我对此进行了很多搜索,但还没有找到正确的解决方案。我想知道 Flutter 相当于 finish() (in java for Android)
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () {
if (counter == 1) {
// **What should I write here so that my current activity is destroyed with showing the Toast message.**
}
Fluttertoast.showToast(
msg: "Press again for exit!",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
);
counter++;
Timer(Duration(seconds: 2), () {
counter = 0;
});
print(counter);
},
child: new Scaffold(
....................
);
);
}
【问题讨论】:
-
“完成”是什么意思?您指的是另一种编程语言中的方法,例如 java for android 中的“onDestroy”?
-
@F-1 是的,我指的是java for android中的方法。但是在 dart 中我没有找到这种类型的方法。
-
好的,这里有一些信息api.flutter.dev/flutter/widgets/State/dispose.html 听起来你只需要在计数器达到 1 时弹出视图,这将导致调用 dispose 方法。您没有解释的一件事是在处置发生后将用户发送到哪里。由于与前一个视图关联的代码存在问题,它可能是黑屏。请发布完整的错误日志。一旦你解释了更多,我会删除或编辑我的答案。
-
感谢@F-1,但我找到了另一种方法。请检查我的答案。
-
酷。您应该将其标记为答案。
标签: flutter dart navigator onbackpressed