【发布时间】:2021-05-20 08:37:22
【问题描述】:
我正在制作一个对话框屏幕,其中包含一些下拉框和列表视图,如下所示。
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
content: StatefulBuilder(
builder: (BuildContext DialogContext, StateSetter setState) {
return Column(
children: [
Dropdown(DialogContext, setState, 0, ReceiveArgs, _lListOfDepthList),
Dropdown(DialogContext, setState, 1, ReceiveArgs, _lListOfDepthList),
FutureListView(ReceiveArgs),
],
);
},
),
);
});
因为我调用了一个未来函数 SetName,所以我也将“FutureListView”更改为未来函数。 FutureListView 代码如下。
Future<Widget> FutureListView(ArgumentClass ReceiveArgs) async{
String SelectedFullAddress = GetSelectedAddress(5, "");
_Name = await SetName(ReceiveArgs.lFullList, SelectedFullAddress);
if (_Name.isNotEmpty) {
print("ListView!");
return ListView.builder(
itemCount: _Name.length,
itemBuilder: (context, index) {
return CheckboxListTile(
title: Text(_Name[index]),
value: null,
onChanged: null,
);
},
);
} else {
print("List Null");
return Text("");
}
}
但是更改后,我在下面得到了一个编译错误。
错误:无法将元素类型“Future”分配给列表类型“Widget”。 (list_element_type_not_assignable at [checker_v2])
你能帮我解决这个问题吗?
同时我使用 StatefulBuilder 因为其他 Dropdownbutton 小部件相互交互。
谢谢!
【问题讨论】:
标签: android flutter dart widget flutter-futurebuilder