android - 颤振(飞镖)方法'tr'在null调用
问题描述
我得到了这个颤振应用程序可以使用两种语言。很好地在菜单中显示项目但是当我尝试编辑和路由到编辑页面时出现此错误,(我在同一页面路由中使用添加和编辑但参数不同)当我尝试添加路由时效果很好,没有任何错误但是当我尝试编辑应用程序时,开始在控制台和(在 null 处调用的方法)给我很多错误,并指向我想要本地化的字符串文本。我使用了 EasyLocalization 小部件。
这里的错误和代码:
@override
Widget build(BuildContext context) {
var data = EasyLocalizationProvider.of(context).data;
return EasyLocalizationProvider (
data: data,
child: Scaffold (
appBar: AppBar (
title: Text(AppLocalizations.of(context).tr("Scan By Trip ID")),
centerTitle: true,
),
这里是错误:
_EmployeeScreenState#a9074):
I/flutter (10733): The method 'tr' was called on null.
I/flutter (10733): Receiver: null
I/flutter (10733): Tried calling: tr("Scan By Trip ID")
解决方案
您需要将其添加到您的材料应用程序中:
MaterialApp(
localizationsDelegates: [
// ... app-specific localization delegate[s] here
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: [
const Locale('en'), // English
const Locale('he'), // Hebrew
const Locale.fromSubtags(languageCode: 'zh'), // Chinese *See Advanced Locales below*
// ... other locales the app supports
],
// ...
)
推荐阅读
- vue.js - Vue $emit 触发但父组件方法未触发
- javascript - 从车把访问 css 的问题(快速 API)
- php - PHP 注意:未定义的偏移量:配置文件中的 1
- r - 如何在 R data.frame 中的多列之间乘以标量值?
- python - ModuleNotFoundError,竟然以为存在,而且已经安装
- java - 尝试检查用户选择的 ID 是否已在 Java 程序中选择
- c# - CTP1001 尝试构建 Docker 映像时发生错误
- apache-kafka - 如何重试 KStream 消息?
- kubernetes - RoleBinding 不授予权限
- web-scraping - 我在使用 Beautiful Soup 从 NCBI 网站上抓取数据时遇到困难