首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Flutter为AppLocalization.of(上下文)返回null

Flutter为AppLocalization.of(上下文)返回null
EN

Stack Overflow用户
提问于 2021-08-22 18:51:31
回答 1查看 623关注 0票数 1

我正在使用Flutter构建一个Web应用程序,我想在我的新应用程序上使用flutter的国际化功能。我遵循Flutter-Tutorial,并尝试使用arb-file设置应用程序标题。正如本教程中提到的,为'en‘和'de’正确创建了app_localization.dart-files。然而,我在下面的代码中得到了一个空指针异常。

代码语言:javascript
复制
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'MyApp',
      localizationsDelegates: [
        AppLocalizations.delegate, // Post-EDIT due to croxx5f
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: [
        Locale('de', ''),
        Locale('en', ''),
      ],
      theme: ThemeData(
        primarySwatch: Colors.red,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text(AppLocalizations.of(context)!.appTitle),
        ),
        body: Text(AppLocalizations.of(context)!.appTitle)
      ),
    );
  }
}

实际上,AppLocalizations.of(context)返回null。

EN

Stack Overflow用户

回答已采纳

发布于 2021-08-22 19:10:27

您应该在MaterialApp中添加AppLocalizations

代码语言:javascript
复制
MaterialApp(
...
      localizationsDelegates: const [
        AppLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
      ],
      supportedLocales: AppLocalizations.supportedLocales,
...
票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68884259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档