小编Edo*_*lep的帖子

Flutter - 错误:无法推断类型参数“T”

我正在开发 Flutter 2.2.1(通道稳定)。我最近将 SDK 的环境从 2.7.0 更改为 2.12.0 以添加插件,但我的代码中出现了很多错误。其中之一是关于单选按钮列表的。

我的代码:

ListView.builder(
    physics: NeverScrollableScrollPhysics(),
    shrinkWrap: true,
    itemCount: languages.length,
    itemBuilder: (ctx, index) {
      return RadioListTile(
        title: Row(
          children: [
            Image.asset(
              'icons/flags/png/${languages[index]['flag']}.png',
              package: 'country_icons',
              height: 16,
            ),
            Text('  ' + languages[index]['language']),
          ],
        ),
        value: languages[index]['code'],
        groupValue: widget.languageChosen,
        onChanged: (_languageSelected) {
          setState(() {
            _languageChosen = _languageSelected;
            widget.onLanguageChange!(_languageChosen);
          });
        },
      );
    }),
Run Code Online (Sandbox Code Playgroud)

该错误与“RadioListTile”有关,消息是:

无法推断类型参数“T”。

试图推断“T”的“动态”,但这不起作用:参数“onChanged”声明为“void Function(T?)?” 但参数是“void Function(Object?)”。类型“dynamic”是从以下位置推断出来的:参数“value”声明为“T”,但参数为“dynamic”。参数“groupValue”声明为“T?” 但论证是“动态的”。

考虑将显式类型参数传递给泛型。

我在该行收到另一个关于“_languageSelected”的错误错误_languageChosen = _languageSelected;是:

“对象?”类型的值 不能分配给“String”类型的变量。尝试更改变量的类型,或将右侧类型转换为“String”。

但我不知道这两个错误是否有关联。

dart flutter

12
推荐指数
2
解决办法
2万
查看次数

Flutter - 错误:没有为“Object”类型定义 getter“docs”

我正在开发 Flutter 2.2.1(通道稳定)。我最近将 SDK 的环境从 2.7.0 更改为 2.12.0 ( sdk: ">=2.12.0 <3.0.0") 以添加插件,但出现了很多错误(尤其是有关null safety 的错误)。其中之一是关于从 firestore 中提取数据(我正在使用cloud_firestore: ^2.2.1)。

我的代码:

StreamBuilder(
    stream: FirebaseFirestore.instance
        .collection('towns/${widget.townId}/beacons')
        .orderBy('monument')
        .snapshots(),
    builder: (ctx, snapshot) {
      if (snapshot.connectionState == ConnectionState.waiting)
        return CircularProgressIndicator();
      final beacons = snapshot.data!.docs; // Error here
      return ListView.builder(
          physics:
              NeverScrollableScrollPhysics(),
          shrinkWrap:
              true,
          itemCount: beacons.length,
          itemBuilder: (ctx, index) {
            if (beacons[index]['visibility'] == true) {
              return BeaconCard(
                title: beacons[index]['title'],
                monument: beacons[index]['monument'],
                image: beacons[index]['image'],
                duration: beacons[index]['duration'],
                distance: 0,
                townId: widget.townId,
                uuid: beacons[index]['uuid'], …
Run Code Online (Sandbox Code Playgroud)

dart flutter google-cloud-firestore

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

dart ×2

flutter ×2

google-cloud-firestore ×1