class FavoriteList extends StatefulWidget {
@override
_FavoriteListState createState() => _FavoriteListState();
}
class _FavoriteListState extends State<FavoriteList> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: ListView.builder(
itemCount: 53,
itemBuilder: (BuildContext context, int index) {
return Card(
child: Container(
child: ListTile(
contentPadding:
EdgeInsets.symmetric(horizontal: 20, vertical: 10),
subtitle: Row(
children: <Widget>[
Image.asset('lib/images/${images[index]}'),
SizedBox(
width: 10,
),
Text(
nameOfSite[index],
style: TextStyle(fontWeight: FontWeight.bold),
),
],
),
trailing: Icon(
alreadySaved ? Icons.favorite : Icons.favorite_border,
color: alreadySaved ? Colors.red : null,
),
onTap: () {
setState(() {
if (alreadySaved) {
_saved.remove(context);
} else {
_saved.add(context);
}
});
},
),
),
);
},
),
),
);
}
}
我正在创建一个“我的收藏”选项卡,我想通过单击行中的“我的收藏”图标来存储我保存的项目。 单击该图标将其保存时,无法在其他列表中添加项目。有什么帮助吗?先感谢您。
答案 0 :(得分:0)
制作商品类
class item{
bool fav = false;
}
// your code
trailing: item[index].fav == false ? Icon(UnfavIcon) : Icon(favIcon)
onTap: () {
setState(() {
item[index].fav = true / false ;
});
},