【问题标题】:Flutter: What's the way to save a list globally, so state is maintained after navigating around my app?Flutter:全局保存列表的方法是什么,以便在浏览我的应用程序后保持状态?
【发布时间】:2020-04-24 18:06:44
【问题描述】:

我基本上有一个待办事项样式列表,用户可以在其中创建列表项并显示在屏幕上的列表中。当我向后导航到主菜单并返回时,不会保存列表。我保存了这样的列表:

class CustomExScreenState extends State<CustomExScreen>
    with TickerProviderStateMixin {
  List<Exerciselist> items = new List<Exerciselist>();
  GlobalKey<AnimatedListState> animatedListKey = GlobalKey<AnimatedListState>();
  AnimationController emptyListController;

我是否需要为可以导航到的每个“屏幕”复制此代码?是更好/更简单的方法吗?如果问题不清楚,我很抱歉,我是编程新手,有点迷茫。如果有人能给我指出正确的方向,那将不胜感激!谢谢

【问题讨论】:

    标签: flutter dart navigation save state


    【解决方案1】:

    你基本上有两种方式:

    1. 使用提供程序包:你创建一个ChangeNotifier 并将你的列表放在那里,然后你在你的小部件树中提供这个ChangeNotifier 在所有应该访问它的小部件之上,然后你可以使用provider 包来访问列表来自所有特权小部件(单击here 以获取使用此包的示例)
    2. (不太优雅):您可以将列表定义为任何类之外的模块(文件)中的全局变量,并将其导入任何其他文件并使用它

    【讨论】:

    • 感谢指导!将使用这两种方法。
    • @SiimmKahn 如果回答了您的问题,请标记为正确
    猜你喜欢
    • 1970-01-01
    • 2015-12-31
    • 2017-07-28
    • 1970-01-01
    • 2015-04-28
    • 2015-07-02
    • 1970-01-01
    • 2010-10-13
    • 2020-05-08
    相关资源
    最近更新 更多