【问题标题】:How to use a List as member variable in Flutter?如何在 Flutter 中使用 List 作为成员变量?
【发布时间】:2021-08-12 21:07:10
【问题描述】:

我试图定义一个类,其中包含一个特定项目对象的列表,它将在构造函数中填充,并且稍后还会接收新项目:

class Repository {

  final List<Voting> _items = List<Voting>();

  Repository() {
    _items.add(Voting(1, "xyz", 0));
  }

  List<Voting> fetchItems() {
    return _items;
  }

}

但是,Flutter 在抱怨:

当 null 安全时,默认的“列表”构造函数不可用 已启用。

怎么办?

【问题讨论】:

  • final List&lt;Voting&gt; _items = List&lt;Voting&gt;();这一行改为List&lt;Voting&gt; _items = new List&lt;Voting&gt;();List&lt;Voting&gt; _items = [];
  • 使用final List&lt;Voting&gt; _items = [];定义一个空列表

标签: flutter dart dart-null-safety


【解决方案1】:

List() 已被 Dart 空安全性弃用,您可以阅读更多关于它的信息 here

您应该使用[]List.filled 创建一个列表。例如:

final List<int> items = [];
final items = <int>[];

final List<int> items = List.filled(10, 0, growable: true)

【讨论】:

  • 使用对象的例子请不要int
  • @LutaayaHuzaifahIdris 将int 替换为您的对象类型。
  • 什么参数,我在哪里看到 (10, 0, growable: true) ,应该放什么,因为它抱怨它们是用于 int 的。
  • @LutaayaHuzaifahIdris 您显然应该使用对象的类型。我不知道它是什么类型的。但是你可以创建一些模拟数据。
【解决方案2】:

试试这个:

final List<Voting> _items = <Voting>[];

而不是

final List<Voting> _items = List<Voting>();

【讨论】:

    猜你喜欢
    • 2018-01-19
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多