从详细信息屏幕返回时如何更新CustomScrollView

问题描述

我有一个脚手架,其中包含一个 CustomScrollView ,其中显示用户未尝试过的项目列表(另一个显示用户已尝试过的项目)。

使用出色的软件包flutter_sticky_header,我在 CustomScrollView 中填充了各种 SliverStickyHeaders SliverLists ,以获取一些信息。的行:

Fruits
  Apples   >
  Bananas  >
  Pears    >
vegetables
  broccoli >
  Cabbage  >
  Potatoes >

SliverLists 由一些GestureDetector“按钮”组成,当使用以下命令进行点击时,这些按钮会将用户带到 DetailScreen

onTap: () async {
  bool result = await Navigator.push( *go to the DetailScreen* )
  setState(() {
    if (result) { *change the icon on the button* }
  }
}

DetailScreen 上,用户可以指示他们是否尝试过该项目,以及何时弹出回到第一个屏幕和 CustomScrollView (按钮上的图标)他们推送的内容已更新,以显示已尝试项目的复选标记,并为未尝试项目显示“>”。

不幸的是,当用户弹出“未尝试过”的项目列表时,他们刚刚指出的“尝试过”的项目仍然存在,并且一直保留到用户导航离开并返回。

我想做的是更新/刷新/重建整个列表,以便当用户将项目从“未尝试”更改为“尝试”后弹出时,该项目不再在未尝试项目的列表中(反之亦然)。

基本上,当用户弹出时,我可以将将其带到 DetailScreen 的特定小部件的状态进行更新,但无法弄清楚如何更新/刷新父级的状态 CustomScrollView 小部件。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...