setState不会在抖动中重新呈现新屏幕

时间:2018-10-07 06:37:02

标签: dart flutter state

我得到一个名为Win+L的{​​{1}},其中包含List的列表。应用启动时,此列表为空。当用户单击savedListsList(在Objects中表示)时,会从内部数据库加载数据,然后,将显示一个新屏幕,其中显示了数据(基本上是{{1 }}包含PopupMenuItem,其中包含一定数量的行)。

每行都包含一个case 0:,用于监听左右滑动。 在所有这些滑动中,都会调用StatelessWidget。根据{{​​1}}属性,更改了前面提到的ListView.builder中行的外观。

我知道刷卡会触发属性相应地更改,因为我已将其打印出来。

很遗憾,GestureDetector中的更改不会导致重新呈现当前屏幕。当我热重新加载应用程序时,将反映updateSaveListItem的更改。

我很确定当我打开 将beingEdited包围成ListView.builder的窗口小部件。 但是我的问题是:我可以使用我描述的体系结构触发当前页面的重新渲染吗?因为我想尽可能多地updateSavedListItem beingEdited内部保留我的ListView.builder管理。

StatefulWidget

1 个答案:

答案 0 :(得分:1)

不,你不能那样做!您必须使用状态小工具来更新应用程序的状态。有关更多参考,您可以参考此link