用flutter实现类似startActivityForResult和onActivityResult功能

        今年实在是大卷元年呀,莫名其妙的flutter就开始在各大公司火了起来,然后就是全员学习flutter,公司可以不用,但是你必须得会。隔壁IOS同事瑟瑟发抖,咋啦?意思就是我走咯?

        不管怎么说,该学咱们就得学,不然工作没着落,不废话了,今天我们来谈谈flutter怎么去实现类似Android的startActivityForResult和onActivityResult的功能。我们在做Android开发的时候,经常会遇到一个需求:

        就是从页面A跳转到页面B去操作,然后在页面B关闭后,返回页面A,同时带回一串数据,如果我们需要获取这串数据就得在A页面跳转B页面的时候使用startActivityForResult方法去跳转,然后在页面B关闭的时候调用setResult方法去把结果带回页面A,页面A需要接收到B页面带回来的数据需要在onAcitivityResult方法里面进行获取。

        以上是Android的实现过程,那么在Flutter上又是如何实现上面的需求呢?这个时候不得不提Flutter退出界面的方法了,我们都知道flutter退出界面的方法是下面这一句:

        

Navigator.of(context).pop();

        不知道的小伙伴也可以记一下,下次可以用,我们点击进去pop方法里面看源码,其实这个方法是可以有参数的——result。没错就是你想的那样,这里其实就相当于Android的这一句:

setResult(data,statusCode);
finish();

        那么这样就解决了如何从页面B带参数返回页面A了,那么页面A怎么接收返回的参数呢?代码如下:

 Navigator.of(context).push(MaterialPageRoute(builder: (context)=> 
GalleryPage())).then((value){
      ///value是从页面B返回的值,  GalleryPage这个是页面B的实例      
           

   });

        接下来还有一种情况,那如果现在的要求是,我需要从页面A带参数到页面B,然后再从页面B把参数带回来,怎么办?不要慌,我们可以这样写:

Navigator.of(context).push(MaterialPageRoute(builder: (context)=> GalleryPage(),
                    settings: RouteSettings(arguments: (“数据”)))).then((value){
    ///settings: RouteSettings(arguments: (“数据”))用于传数据,value是页面B返回的数据
                

 });

        这样就解决我们上面的问题了,希望这篇文章能帮到大家,如果有讲的不对的地方也希望大家不吝指教,我会及时修改,谢谢大家观看!

相关推荐

  1. 如何在 Flutter实现地理定位地图功能

    2024-04-24 08:12:04       39 阅读
  2. flutter 开发实战

    2024-04-24 08:12:04       26 阅读
  3. flutter 功能

    2024-04-24 08:12:04       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 08:12:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 08:12:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 08:12:04       82 阅读
  4. Python语言-面向对象

    2024-04-24 08:12:04       91 阅读

热门阅读

  1. Linux第五章

    2024-04-24 08:12:04       28 阅读
  2. 软件开发的一般步骤

    2024-04-24 08:12:04       34 阅读
  3. Apace配置+http重定向到https

    2024-04-24 08:12:04       78 阅读
  4. MODBUS

    2024-04-24 08:12:04       36 阅读
  5. SecretFlow之SCQL部署(P2P方案)避雷纯享版

    2024-04-24 08:12:04       76 阅读
  6. 抖音视频笔记

    2024-04-24 08:12:04       34 阅读
  7. 拦截pytorch算子,dump输入输出

    2024-04-24 08:12:04       36 阅读
  8. 我是一名程序员而且我很蠢

    2024-04-24 08:12:04       35 阅读
  9. Spring Boot实现接口签名验证

    2024-04-24 08:12:04       33 阅读
  10. PHP 与 MySQL 数据库集成教程

    2024-04-24 08:12:04       205 阅读
  11. StorCli工具学习记录

    2024-04-24 08:12:04       36 阅读
  12. 机器学习之sklearn基础教程

    2024-04-24 08:12:04       43 阅读