【问题标题】:RadioListTile onchange value is object? typeRadioListTile onchange 值是对象吗?类型
【发布时间】:2021-06-22 17:02:06
【问题描述】:

我正在尝试使用RadioListTile 进行多项选择题。

RadioListTile(
  value: 1,
  groupValue: 1,
  onChanged: (val) {
    print("Value");
    print(val.runtimeType);
    setSelectedRadio(val);
  },
  title: Text(snapshot.data!.data()["questions"]["question $i"]["option 1"]),
);

我得到的错误是

参数类型“对象?”不能分配给参数类型“int”。 “对象”来自“飞镖:核心”。 setSelectedRadio(val);

我检查了 value 的运行时类型,它正在返回 int。

【问题讨论】:

  • 您在哪一行收到此错误?
  • Object' 来自 'dart:core'。 setSelectedRadio(val);在 val

标签: flutter casting radio-button dart-null-safety


【解决方案1】:

int 作为通用参数传递给您的RadioListTile

替换这个

RadioListTile(...)

有了这个

RadioListTile<int>(...)

【讨论】:

  • 我也必须添加一个空检查。成功了,谢谢
【解决方案2】:

您可以通过为 RadioListTile 指定类型或显式指定函数参数类型来解决此问题。

选项 1:

RadioListTile<int>(
   // Remaining Code
)

选项 2:

RadioListTile(
   onChanged: (int? val) {},

   // Remaining Code                      
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-14
    • 2012-09-25
    • 1970-01-01
    • 2016-04-19
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多