【发布时间】:2020-03-20 08:48:48
【问题描述】:
下面的代码很好我只是对返回 Dismissible(key: Key(list) 有一个问题。
Key(list) 表示“参数类型列表...不能分配给参数类型。”
我的意思是列表没有定义,因为它是动态的并且从用户那里获取信息。
谁有解决方案?
TextEditingController tc;
List<String> list = [];
@override
void initState() {
super.initState();
tc = TextEditingController();
}
@override
Widget build(BuildContext context) {
body:ListView.builder(
itemCount:list.length,
itemBuilder:(context,index){
return Dismissible(key: Key(list),
onDismissed: (direction) {
setState(()
{
list.removeAt(index);
}); Scaffold.of(context).showSnackBar(SnackBar(content: Text('$list dismissed')));
Container(color: Colors.red);
},
child: ListTile(
title:Text(list[index],
style: TextStyle(color:Colors.black)),
));
}));}
void showPopup() {
tc.text = '';
showDialog(
context: context,
builder: (con) => AlertDialog(
title: Text('Add new Asset'),
content: TextField(
controller: tc,
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: 'Asset',
)),
actions: [
MaterialButton(
child: Text('ADD'),
onPressed: () {
if (tc.text.trim().isNotEmpty) addToList();
Navigator.of(con).pop();
})
]));
}
void addToList() {
setState(() {
list.add(tc.text.trim());
});
}
}
谢谢
【问题讨论】: