gpt4 book ai didi

listview - 在Flutter中清除ListView

转载 作者:行者123 更新时间:2023-12-03 02:55:05 24 4
gpt4 key购买 nike

我构建了将用户名存储在列表中并在ListView中查看的应用程序,但是我想清空ListView并按“清除”按钮后不显示任何内容。

我添加了names.clear(),但似乎它清除了不在 View 中的幕后列表。

有什么办法可以做到这一点?

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]}'),
),
);
}),
)
],
),
);
}
}

最佳答案

这里应该使用setState()方法来告诉小部件配置已更改,因此需要修改引用小部件。

  setState(() {
names.clear();
});

关于listview - 在Flutter中清除ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62025809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com