首页 财经 聚焦 财评 股市 证券 商业 设为首页
您现在所在的位置:首页 / 环保新能源 / 正文
页面中的数据传输Startactivityforresult将子模块交给主模块
来源:体育小编
2021-01-08

      在整理需求的时候,发现页面之间的数据传输这块是个可以总结的知识点。一般情况下页面之间的数据传输可以有以下几种思路:1、通过startActivityForResult方法进行数据传输;2、通过广播的形式传输;3、可以通过接口的调用来传输数据;4、通过存储介质来分享数据;5、通过EventBus进行页面之间的传输;这边总结一下第一种的简单使用。


      一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面/完成的数据交给主Activity处理。这种带数据的意图跳转需要使用activity的onActivityResult()方法。
      关于startActivityForResult startActivityForResult(Intent intent, int requestCode)老是遗忘,尤其其中的几个参数。老是傻傻分不清。所以今天就简单的记录下来。
      startActivityForResult startActivityForResult(Intent intent, int requestCode)。这个方法我一般用来在ActivityA中启动另一个activityB,当返回的时候需要携带来自B的数据。
      一、首先在ActivityA中启动startActivityForResult startActivityForResult(Intent intent, int requestCode)参数2.requescode,你自定义的一个int类型的数值(一般>0),当从activityB中返回来的时候。会携带回来。所以你可以用这个参数来判断是从哪个activity中返回的。(前提是你在开启新的activity的时候 要传的requestcode不一样)。
      二。其次还有一个方法。这个方法是在ActivityB中使用的,主要一定要在finish()之前调用该方法 不然不起作用。
      三。最后在ActivityA中onActivityResult()中接收数据,然后拿到数据你想干嘛就干嘛了。

CopyRight@2015-2024 中国民银财经网 All Right Reserved

工信备案号:湘ICP备2023001279号