问题描述
我正在提出申请。我创建了一个类,在其中为 ListView 创建数据并将其传递给另一个类进行显示。如何将上下文传递给此类以进行本地化?
data_rules.dart
class DataRules {
const DataRules({required this.name,required this.description,required this.image});
final String name;
final String description;
final String image;
}
class RulesList{
final BuildContext context;
RulesList({required this.context});
final List<DataRules> rulesList= [
DataRules(
name: AppLocalizations.of(context).translate('welcom')!,description: '..',image: 'assets/images/rules1.png',),DataRules(
name: AppLocalizations.of(context).translate('welcom')!,image: 'assets/images/rules2.png',];
}
form.dart
class Rules extends State<RulesForm> {
@override
Widget build(BuildContext context) {
final List<DataRules> _rulesList= RulesList(context: context).rulesList;
return Scaffold(
body: Stack(
children: <Widget>[
SingleChildScrollView(
child: Column(
children: <Widget>[
ListView.separated(
itemCount: _rulesList.length,
解决方法
您需要在前面添加 wiget.
。
name: AppLocalizations.of(widget.context).translate('welcom')!,
,
试试 easy_localization 包
https://pub.dev/packages/easy_localization
使用起来超级简单。