[英]Refresh Flutter ListView after OnTap
I want to change the view of a selected item (_itemSelected) . 我想更改选定项目(_itemSelected)的视图。 It works when I select an item but the other items doesn't refresh.
当我选择一个项目但其他项目没有刷新时,它可以工作。 There is something like notifydatasetchanged?
是否有类似notifydatasetchanged的东西? Something I missed?
我错过了什么? Thanks!
谢谢!
class MyItemListItem extends State<MyItemList> {
final MyItem item;
MyItemListItem(this.item);
@override
Widget build(BuildContext context) {
return new ListTile(
key: _itemListItem,
onTap: () {
_scaffoldKey.currentState.showSnackBar(new SnackBar(
content: new Text("You clicked item number " + item.name)));
_itemSelected = item;
setState(() {
});
},
leading: new CircleAvatar(backgroundColor: Colors.blue),
title: _itemSelected != null && item == _itemSelected
? new Row(children: <Widget>[new Text("Foo"), new Text("Bar")])
: new Row(
children: <Widget>[
new Expanded(child: new Text(item.name)),
],
));
}
}
Ok, I figured out the problem. 好的,我知道了问题所在。 Like Günter Zöchbauer suggested I added
就像GünterZöchbauer建议的那样,我添加了
_scaffoldKey.currentState.showSnackBar(new SnackBar(
content: new Text("You clicked item number " + item.name)));
_itemSelected = item;
home.addItem();
},
where home is the parent widget. 其中home是父窗口小部件。
void addItem() {
setState(() {
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.