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

我在主界面监听返回键, 而后但愿弹出 CupertinoAlertDialog 让用户确认是否退出, 一开始都好好的, 在我通过打包成apk以后, 这个 CupertinoAlertDialog 就开始一直报错bash


一顿操做, 仍是无果...ide

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


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

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

而后建立对应的 class :cdn

class FallbackCupertinoLocalisationsDelegate
    extends LocalizationsDelegate<CupertinoLocalizations> {
  const FallbackCupertinoLocalisationsDelegate();

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

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

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

这样就 ok 咯~~~blog

再次运行, 完美弹出 CupertinoAlertDialog ~get

相关文章
相关标签/搜索