RadioListTile onchange 值是对象?类型

RadioListTile onchange value is object? type

我正在尝试使用 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"]),
);

我得到的错误是

The argument type 'Object?' can't be assigned to the parameter type 'int'. 'Object' is from 'dart:core'. setSelectedRadio(val);

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

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

替换这个

RadioListTile(...)

有了这个

RadioListTile<int>(...)

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

选项 1:

RadioListTile<int>(
   // Remaining Code
)

选项 2:

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

   // Remaining Code                      
)