参数类型'列表<设置<ListBody>>'可以't被分配给参数类型'



我使用类Boards获取从departuresAPI返回的前5组数据,并将它们放入返回的解析后的Json列表中。

var mappedList = boards.departures!.take(5).toList();

然后我将其映射为一个重复列表,并选择我想要的数据。

var mappedValues = mappedList.map((m) => { 
ListBody(
children: <Widget>[
RichText (
text: TextSpan( 
children: <TextSpan> [
TextSpan(text: "nnDestination ",
style: TextStyle(
fontSize: 22 ,
fontWeight: FontWeight.w400, 
color: Color(0xff2F2F2F),
)
),
TextSpan(text: m.transport!.headsign.toString(), style: TextStyle(
fontSize: 18 ,
fontWeight: FontWeight.w400, 
color: Color(0xff2F2F2F),
fontFamily: 'DMSans'
)
),
TextSpan(text: "nnNo.",
style: TextStyle(
fontSize: 22 ,
fontWeight: FontWeight.w400, 
color: Color(0xff2F2F2F),
)
),
TextSpan(text: m.transport!.name.toString(), style: TextStyle(
fontSize: 18 ,
fontWeight: FontWeight.w400, 
color: Color(0xff2F2F2F),
fontFamily: 'DMSans'
)
),
]
)
)
])}).toList();

然后我将其传递给元数据

Metadata metadata = new Metadata();
metadata.setCustomValue("ListBody", ListBodyMetadata(mappedValues));

mapMarker.metadata = metadata;

我有一个标题,然后是每行中的数据。

我尝试过在ListBody中使用映射数据的不同方法,我认为这将是最好的方法。我只是无法将它传递给元数据,因为它是List<Set<ListBody>>,而不是我需要的ListBody

我曾尝试为List<Set<ListBody>>设置一个元数据类,但它并没有像预期的那样工作。ListBody在我的应用程序中运行良好,我只需要将此数据集作为一个数据集传递到元数据中。

感谢,任何关于如何传递数据的提示都将不胜感激

我想你想要的是这个?。从那时起,您就有了一个包含多个文本小部件的ListBody,而不是一个ListBody列表(包含1个文本小程序(

var mappedValues = ListBody(
children: mappedList.map((m) => RichText ()).toList(),
);

关于如何使用RichText:的示例

RichText(
text: TextSpan(
children: <TextSpan>[
TextSpan(
text: 'Hi, ',
style: style.onBackground(context, opacity: .7)),
TextSpan(
text: username,
style: style.onBackground(context),
),
],
),
),
```