【发布时间】:2021-10-18 07:15:58
【问题描述】:
我正在屏幕上呈现从 api 获取的列表。我为列表中的每个项目都有一个保存按钮,单击时会更改。它工作正常,但是当我滚动列表时它会恢复。我认为这是因为列表构建器一次又一次地构建列表,但我想不出解决用户单击时图标状态的解决方案。这是代码的一部分:
....
class NewsListBuilderItemsState extends State<NewsListBuilderItems> {
final _repository = Repository();
bool selected = false;
...
这是按钮:
GestureDetector(
child: Icon(selected
? Icons.bookmark
: Icons.bookmark_border_outlined),
onTap: () {
setState(() {
selected = !selected;
_repository.addToDb(
widget.snapshot.data[widget.index]);
bloc.addToSavedNews(
widget.snapshot, widget.index);
});
},
)
【问题讨论】:
标签: android flutter dart listview setstate