android Flutter基于变量更新ListView.builder

aydmsdu9  于 2023-05-12  发布在  Android
关注(0)|答案(1)|浏览(138)

我的问题很简单。当我改变一个从get请求分配给服务器的变量时,我希望listview.builder重新呈现屏幕。这就是我的屏幕目前的样子:x1c 0d1x(每条新闻文章(由白色大小的框分隔)都是基于一个名为_posts的变量呈现的-当这个变量更新时,我希望所有的新闻小部件都更新)
编辑:例如,当用户点击心形图标时,我向服务器发送一个请求,告诉它用户喜欢这篇新闻文章,当它返回更新后的喜欢列表时,我希望根据服务器返回的内容对图标着色或不着色
更多资讯

  • 小部件位于listview.builder中
  • 我的类扩展了一个有状态的小部件
  • 服务器返回一个JSON对象
  • 我已经在这上面工作了8个多小时了,还是搞不清楚

非常感谢!
示例代码:这就是我的心图标的样子。当用户点击心形图标时,它告诉服务器该帖子不再被喜欢,并获得更新的喜欢列表。但是,当我执行setState(()=> {liked=(SERVER RESPONSE LIKED)})时,它不会更新视图。

Icon(
liked.contains(_posts[index]['id'].toString())
? Icons.favorite : Icons.favorite_border, color: Colors.white))
6za6bjd0

6za6bjd01#

点击心形图标得到响应后,请尝试再次调用GET API &不要忘记清除当前列表,否则您将得到重复的数据。**使用三元运算符(条件?文字(“红心”):Text(“Normal Heart”),)**也试着分享一些代码,它将帮助我理解到底做了什么。

相关问题