首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想调用下一页的plotter.However,下一页所需的变量也是下一页的信息

我想调用下一页的plotter.However,下一页所需的变量也是下一页的信息
EN

Stack Overflow用户
提问于 2021-11-03 16:03:10
回答 1查看 31关注 0票数 0

这就是标题。我的代码需要一个YouTube ID来转到上一页,一个收藏变量,一个上一页按钮来转到上一页,一个下一页按钮来转到下一页,如下面的代码所示。

代码语言:javascript
复制
                  LearnLevelButton(
                      color: favoriteButton_0_01_01 ? Colors.orange : Color(0xff7ba6f9),
                      text: '1-1',
                      onTap: () async {
                        await Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Video(
                            YoutubeID: 'asfasdf23',
                            favorite: favoriteButton_0_01_01,
                            nextpage: Video(YoutubeID: '', nextpage: null,),
                            backpage:
                            favorite2: '_favoriteButton_0_01_01', text1: '', back: '',
                        ),));
                      }
                  ),

您可能认为可以为每个页面创建和使用文件,但您之所以使用这种方法,是因为您必须创建数百个页面。

然而,我很快意识到我的方法是错误的。如果以下面的方式执行,则下一页上的下一页信息和下一页上的下一页信息以这种方式are...In,调用代码不会结束,因为它需要无限的信息。

代码语言:javascript
复制
                        await Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Video(
                            YoutubeID: 'asfasdf23',
                            favorite: favoriteButton_0_01_01,
                            nextpage: Video(YoutubeID: '', nextpage: null,...........),
                            backpage:
                            favorite2: '_favoriteButton_0_01_01', text1: '', back: '',
                        ),));

没有别的办法了吗?

每页提供的函数转到下一页,转到上一个问题页,然后返回到菜单、YouTube ID和收藏夹变量。

EN

回答 1

Stack Overflow用户

发布于 2021-11-03 16:15:17

我不确定您是如何实现的。请尝试以下操作。创建一个类

代码语言:javascript
复制
   class VideoClass{
   String youtubeID;
   bool fav;
   int currentIndex;
   VideoClass({this.youtubeID, this.fav, this.currentIndex});
   }

现在创建一个这个类的列表,比如List<VideoClass> allVideoInfo = [];

根据需要添加信息。allVideoInfo.add(new VideoClass(youtubeID:.....);

现在加载一个只有索引的页面。在页面内部,如果用户点击fav按钮,则调用url,如下面的allVideoInfo[widget.index].youtubeID,然后更改值,如allVideoInfo[widget.index].fav =! allVideoInfo[widget.index].fav;。使用json.encode将此列表转换为字符串,并将其保存在共享首选项中。当您第一次打开应用程序时。使用json.decode从共享首选项中获取值并使用它。

当用户点击下一页时。获取当前索引并将其加1,然后将其传递到下一页。上一页,如当前索引-1。这将是在本地处理所有事情的最佳方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69828090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档