【问题标题】:flutter pass context to another class颤振将上下文传递给另一个类
【发布时间】:2021-10-02 01:50:39
【问题描述】:

我正在做一个更平坦的应用程序。我创建了一个类,在其中为 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')!,,
      description: '..',
      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,

【问题讨论】:

    标签: flutter localization android-context


    【解决方案1】:

    试试 easy_localization 包

    https://pub.dev/packages/easy_localization

    超级好用。

    【讨论】:

      【解决方案2】:

      需要在前面加上wiget.

        name: AppLocalizations.of(widget.context).translate('welcom')!,,
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-12-23
        • 1970-01-01
        • 1970-01-01
        • 2021-10-28
        • 1970-01-01
        • 2014-02-24
        • 2013-12-10
        相关资源
        最近更新 更多