使用return Future.value(false);后才Navigator.pop(context)是正确的方法。
如果我使用
Navigator.pop(context, false) 它之后
return Future.value(true);
按后退按钮后应用程序将显示黑屏,并且Logcat中没有错误。
但是如果我在没有Navigator.pop(context)或没有的情况下使用相同的代码return Future.value(true);一切都会很好,使用return Future.value(false);也可以正常工作。
*按照有关 Udemy 的教程,该节目return Future.value(true)是可以的。
我找到了解决方案。你应该使用return Future.value(false);. 您使用Navigator.pop(context),手动导航,Future.value(true);触发另一个无法完成的弹出窗口,因为您已经存在该页面并且这会导致应用程序崩溃。
OnWillPop 期望返回,因此通过使用return Future.value(false);您告诉 onWillPop 您在此处处理页面的关闭。
onWillPop: () {
Navigator.pop(context, 'ANY RETURN VALUE');
return new Future(() => false);
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2152 次 |
| 最近记录: |