想要在点击时更改图标的颜色 . 默认情况下,如果项目已经是收藏夹,则图标为红色,而其他图标为默认颜色 .
如果用户点击Icon以使其成为收藏夹或Unfavorite,我想在更新后更改颜色 .
new ListTile(
trailing: InkWell(
child: Icon(Icons.share),
),
leading: InkWell(
onTap: () {
snapshot.data[index].isFavorite == 0
? makeFavorite(snapshot.data[index].id)
: makeUnfavorite(
snapshot.data[index].id);
},
child: snapshot.data[index].isFavorite == 1
? Icon(
Icons.favorite,
color: Colors.red,
)
: Icon(Icons.favorite)),
title: new Text(snapshot.data[index].body,
style: new TextStyle(
fontWeight: FontWeight.bold, fontSize: 14.0)),
),
3 回答
在onTap函数中使用setState并在那里指定颜色 .
创建Statefull小部件以更改其状态
Solved the problem this way (Updated Code)
Code of List Tile
Functions for changing state