如何在flutter应用程序中将列表中的项目保存?

时间:2019-12-10 08:56:15

标签: flutter dart

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);
                  }
                });
              },
            ),
          ),
        );
      },
    ),
  ),
);
}
}

我正在创建一个“我的收藏”选项卡,我想通过单击行中的“我的收藏”图标来存储我保存的项目。 单击该图标将其保存时,无法在其他列表中添加项目。有什么帮助吗?先感谢您。

1 个答案:

答案 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 ; 
            });
           },