在颤振中清除ListView

在颤振中清除ListView,listview,flutter,dart,Listview,Flutter,Dart,我构建了一个应用程序,它将用户名存储在列表中,并在ListView中查看,但我想在按下Clear按钮后清空ListView以不显示任何内容 我添加了names.clear(),但它似乎是在幕后而不是在视图中清除列表 有什么办法可以做到这一点 class _NameViewListState extends State<NameViewList> { final List<String> names = <String>['Ahmed','Nana'];

我构建了一个应用程序,它将用户名存储在列表中,并在ListView中查看,但我想在按下Clear按钮后清空ListView以不显示任何内容

我添加了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]}'),
                  ),
                );
                }),
          )
        ],
      ),
    );
  }
}
class\u name视图列表状态扩展状态{
最终名单名称=[‘艾哈迈德’、‘娜娜’];
TextEditingController name控制器=TextEditingController();
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“设置”),
标题:对,
),
正文:专栏(
儿童:[
图标按钮(
图标:图标(Icons.queue,颜色:Colors.green,),
onPressed:(){createDialog(context);},
),
填充物(
填充:边缘设置。全部(20),
孩子:TextField(
控制器:名称控制器,
装饰:输入装饰(
边框:OutlineInputBorder(),
labelText:“联系人姓名”,
),
),
),
升起的按钮(
子项:文本('Clear'),
已按下:(){
name.clear();
},
),
扩大(
子项:ListView.builder(
itemCount:names.length,
itemBuilder:(构建上下文,int索引){
返回容器(
身高:50,
儿童:中心(
子项:文本(“${names[index]}”),
),
);
}),
)
],
),
);
}
}
此处应使用setState()方法告知小部件配置已更改,因此需要修改参考小部件

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