首页 / 尚品潮秀 / 正文

页面中的数据传输Startactivityforresult将子模块交给主模块

来源:
编辑:亿尚风范
时间:2023-10-15

在整理需求的时候,发现页面之间的数据传输这块是个可以总结的知识点。一般情况下页面之间的数据传输可以有以下几种思路: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 @ 2005-2024 Reserved 亿尚网版权所有,所涉内容请查询声明细则