Flutter使用CupertinoAlertDialog 报 'alertDialogLabel' was called on null.

我在主界面监听返回键, 然后希望弹出 CupertinoAlertDialog 让用户确认是否退出, 一开始都好好的, 在我经过打包成apk之后, 这个 CupertinoAlertDialog 就开始一直报错


一顿操作, 还是无果...

只能求助谷歌, 果然翻到一个答案:


也就是在 main.dart 的 MaterialApp 加入这个属性:

localizationsDelegates: [
  GlobalMaterialLocalizations.delegate,
  GlobalWidgetsLocalizations.delegate,
  YabandLocalizationsDelegate.delegate,
  const FallbackCupertinoLocalisationsDelegate(), //加入这个, 上面三个是我用来国际化的
],复制代码

然后创建对应的 class :

class FallbackCupertinoLocalisationsDelegate
    extends LocalizationsDelegate {
  const FallbackCupertinoLocalisationsDelegate();

  @override
  bool isSupported(Locale locale) => true;

  @override
  Future load(Locale locale) =>
      DefaultCupertinoLocalizations.load(locale);

  @override
  bool shouldReload(FallbackCupertinoLocalisationsDelegate old) => false;
}复制代码

这样就 ok 咯~~~

再次运行, 完美弹出 CupertinoAlertDialog ~


转载于:https://juejin.im/post/5c417d626fb9a049ec6b5d44

你可能感兴趣的:(Flutter使用CupertinoAlertDialog 报 'alertDialogLabel' was called on null.)