请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

onWillPop、maybePop

//fix Android物理返回键,无法返回上一页问题@https://github.com/flutter/flutter/issues/66349
onWillPop: () async => !await navigatorKey.currentState!.maybePop()

虽然知道这是干嘛的了, 但不大清除为什么就能修复这个问题。

  • maybePop做了什么呢?
  • 为什么要用onWillPop呢, 它有什么特殊的地方吗, 为什么不再 onPopPage 里处理呢? 不都是pop前触发吗,按到它们使用的场景是不一样的吗?
  • navigatorKey.currentState.canPop()navigatorKey.currentState.maybePop() 有什么区别呢

正在回答 回答被采纳积分+3

1回答

CrazyCodeBoy 2022-09-16 19:34:20
1、maybePop内部也会调用当前路由的willPop方法,并根据willPop的执行结果,来看是是否可以返回上一页;
2、这里遇到的是Android物理返回键无法返回上一页的问题,而onPopPage是在正常页面返回前的回调,在出现Android物理返回键无法返回上一页时不会回调onPopPag方法,所以无法在onPopPag方法中处理;
0 回复 有任何疑惑可以回复我~
  • 提问者 demonCry #1
    那正常返回会触发willpop吗
    回复 有任何疑惑可以回复我~ 2022-09-19 15:23:04
  • 按道理会的。
    回复 有任何疑惑可以回复我~ 2022-09-20 13:29:35
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号