android - 当我导航回 ListView 页面时,是否可以更新它?

标签 android listview flutter dart navigation

我的应用程序包含三个页面,一个主页,一个列表 View 页面和一个设置页面。我从首页导航到列表 View 页面,然后单击列表 View 页面中的“ float 操作”按钮,然后创建一个新的配置文件并转到该配置文件的设置页面。选择设置后,我希望它们在卡片的列表 View 中显示。我有一个从中检索设置的sqflite数据库。这很好用,但存在一个主要问题:我必须为每张新卡热加载我的应用,才能在列表 View 中显示。

我想要的是在我导航回列表 View 页面时对其进行更新。

我尝试过的是使用Navigator Push来从设置页面返回到列表 View 页面,如下所示:

Navigator.push(
    context,
    MaterialPageRoute(builder: (context) => ProfilesList(),
  );

这是因为我的列表 View 随后立即更新。但是,当我单击“后退”按钮时,我没有回到弹出页面,而是再次进入设置屏幕,因为这是我按下的位置。因此,我无法返回主应用程序屏幕。

有解决方案吗?目前,我必须在配置文件列表未更新但导航正常的情况下进行选择,或者在配置文件列表更新但导航无效的情况下进行选择。

在导航方面,我需要的是:页面1 =>页面2 =>页面3 =>页面2 =>页面1

最佳答案

由于以下原因,我找到了解决问题的方法:https://www.filledstacks.com/post/flutter-navigation-cheatsheet-a-guide-to-the-navigator/

因此,基本上,我必须从设置页面弹出,但要在其中添加值“true”,如下所示:

Navigator.pop(context, true);

然后,在我的listview页面中,我所要做的就是等待该值返回,此时我可以重新加载列表,如下所示:
                 var navigationResult = await Navigator.push(
                        context,
                        MaterialPageRoute(
                          builder: (context) =>
                              ProfileCreator(),
                        ),
                      );
                      if (navigationResult == true){
                        setState(() {
                          getList();
                        });

我希望有一天对某人有用...

关于android - 当我导航回 ListView 页面时,是否可以更新它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61734411/

相关文章:

java - 如何在Java中将整数的字节字符串打印到套接字?

php - 从 Android 设备到 LAMP 服务器的视频流

android - Apache Cordova 和 PhoneGap 有什么区别?

windows - Winform ListView 列未显示

flutter - dyld:找不到符号:_ffi_prep_closure_loc(在 Mac 上)

inheritance - 覆盖上层类(Class)的变量

android - 使用分隔线在 Android xml 中添加无边框按钮

asp.net - 有谁知道在 asp.net ListView 中隐藏列的方法?

listview - [UWP][XAML] ListView 子项未使用全宽

firebase - 方法 'getReferenceFromUrl' 没有为类型 'FirebaseStorage' 定义