【发布时间】:2020-12-08 20:39:30
【问题描述】:
我正在尝试将警报对话框中的用户输入添加到列表视图。每次我运行它时,警报对话框都会接受输入并且项目列表会更新,但列表视图不会更新。在警报对话框按钮上按 OK 后,应用程序的状态不会改变。请帮我解决这个问题,因为我是 Flutter 新手。
Future<String> createAlertDialog(BuildContext context) {
//promise to return string
TextEditingController customController =
TextEditingController(); //new texteditingc object
return showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: Text("Enter URL: "),
content: TextField(
controller: customController,
),
actions: [
MaterialButton(
elevation: 5.0,
child: Text("OK"),
onPressed: () {
Navigator.of(context).pop(customController.text.toString());
},
)
],
);
});
}
@override
Widget build(BuildContext context) {
List item = List();
item=['HI'];
String temp;
return Scaffold(
appBar: AppBar(
title: Text("Shortie"),
),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: ListView(
children:
item.map((element)=>Text(element)).toList(),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
createAlertDialog(context).then((onValue) {
temp=onValue;
print(temp);
});
setState(() {
item.add(temp);
print(item);
});
},
tooltip: 'Add URL',
child: Icon(Icons.add),
),
);
【问题讨论】:
-
您想在列表中显示输入的 URL 对吗?
-
是的,我想这样做
标签: android flutter flutter-layout