Это пример того, как вы можете реализовать! Измените это как ваше требование!
TextEditingController tc;
List<String> list = [];
@override
void initState() {
super.initState();
tc = TextEditingController();
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add_circle),
onPressed: (){
showPopup();
}
),
body:ListView.builder(
itemCount:list.length,
itemBuilder:(con,ind)=>
ListTile(
title:Text(list[ind],
style: TextStyle(color:Colors.black)),
)
)
);
}
void showPopup() {
tc.text = '';
showDialog(
context: context,
builder: (con) => AlertDialog(
title: Text('Popup Tilte'),
content: TextField(
controller: tc,
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: 'Field Title',
)),
actions: [
FlatButton(
child: Text('Add'),
onPressed: () {
if (tc.text.trim().isNotEmpty) addToList();
Navigator.of(con).pop();
})
]));
}
void addToList() {
setState(() {
list.add(tc.text.trim());
});
}