Я создаю приложение, которое хранит имена пользователей в списке и просматривает его в ListView, но я хочу очистить ListView, чтобы ничего не отображалось после нажатия кнопки Clear.
Я добавил names.clear (), но он кажется, что он очищает список за кулисами, а не в представлении.
Есть ли способ достичь этого?
class _NameViewListState extends State<NameViewList> {
final List<String> names = <String>['Ahmed','Nana'];
TextEditingController nameController = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Settings'),
centerTitle: true,
),
body: Column(
children: [
IconButton(
icon: Icon(Icons.queue, color: Colors.green,),
onPressed: (){createDialog(context);},
),
Padding(
padding: EdgeInsets.all(20),
child: TextField(
controller: nameController,
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: 'Contact Name',
),
),
),
RaisedButton(
child: Text('Clear'),
onPressed: () {
names.clear();
},
),
Expanded(
child: ListView.builder(
itemCount: names.length,
itemBuilder: (BuildContext context, int index){
return Container(
height: 50,
child: Center(
child: Text('${names[index]}'),
),
);
}),
)
],
),
);
}
}