周五的时候同事遇到一个bug,有两个activity A,B,A调用startActivityForResult启动B,然后B返回数据给A,本来是想要A的onActivityResult接收到数据后继续启动B,但是当第一次接收到B返回来的数据Bfinish后A接收不到B的数据了,后来查看才发现问题出在A里面调用startActivityForResult这个方法的对象上,在项目里有一个基类BaseActivity,然后A、B都基层它,在BaseActivity中初始化mCurActivity变量保存当前activity,然后每次都是mCurActivity.startActivityForResult(),这样启动一次B后mCurActivity中保存的就是B对象,现在这个过程就是A启动B,A接收到B的数据后是B启动B,然后B接收B返回的数据,没有A的事了,所以A里面接收不到B返回的数据,这个地方需要以后注意,避免再出这样的问题。
onActivityResult中调用startActivityForResult接收不到返回值
最新推荐文章于 2019-02-13 09:45:03 发布