Flutter:异常使用 Navigator.of(context).pop();

Flutter: Exception using Navigator.of(context).pop();

每次我使用 Navigator.of(context).pop(); 到 return 到以前的视图时,我总是得到

Unhandled Exception: NoSuchMethodError: The method 'call' was called on null.

留言。

但是应用成功回到了之前的界面,但是不知道为什么总是会出现这个有时导致崩溃的提示。可能是什么?

#0      _rootRunUnary (dart:async/zone.dart:1198:47)
#1      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#2      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#3      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#4      Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#5      Future._completeWithValue (dart:async/future_impl.dart:529:5)
#6      Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7)
#7      _rootRun (dart:async/zone.dart:1190:13)
#8      _CustomZone.run (dart:async/zone.dart:1093:19)
#9      _CustomZone.runGuarded (dart:async/zone.dart:997:7)
#10     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
#11     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#12     _startMicrotaskLoop<…>

我通常使用与图标关联的 Inkwell 来调用该方法。例如:

InkWell(onTap: () => Navigator.of(context).pop(), 

  child: Icon(Icons.chevron_left_rounded, color: Constants.COLOR_DEF, size: 30));

此错误通常在 Navigator.of(context).currentStatenull

时出现

这意味着您在当前路线下方没有任何 Route,因此您无法弹出该路线。 检查这个你有没有这条路线下面的路线??

没关系,找到问题了。

基本上,当从一个页面转到另一个页面时,我总是调用“Navigator.of(context).push(new MaterialPageRoute)”并传递一个回调函数(如果需要)。如果未传递该回调函数(null),则会抛出错误。

谢谢任何回复的人!