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

相關文章
相關標籤/搜索