Mr.Smile填坑记——startActivityForResult收不到回调

来源:互联网 发布:商城 php 编辑:程序博客网 时间:2024/05/16 19:48
最近使用startActivityForResult关联俩个Activity中,发现A跳转到BB设置setResult(RESOULT_OK)之后,A没有执行onActivityResult1.如果Activity 的加载启动模式(launchMode )SingleTask会导致onActivityResult()没有调用,修改为singleTop或者标准。原因是:设置为 launchmode=”SingleTask”,系统将在 startActivityForResult() 后直接调用 onActivityResult()2.两个activity传递数据和返回数据时,请求方的onActivityResult始终无响应,通过debug调试模式也没见调用该方法startActivityForResult(intent, 0);是第二个参数的问题,该参数必须大于0才能在返回值,并激活onActivityResult方法。API描述:@requestCode If >= 0, this code will be returned in onActivityResult() when the activity exits.3.Fragment onActivityResult() 不执行。解决方法:a.处理方法是在与Fragment绑定的FragmentActivity中重写onActivityResult方法。返回的result先传至FragmentFragmentActiivity,FragmentActiivity中调用super(requestCode,resultCode, data);super.onActiivtyResult会将未被处理的result消息继续传给其fragementonActiivtyResultb.Fragment中直接调用startActivityForResult()方法,而不是调用 getActivity().startActivityForResult()
阅读全文
0 0
原创粉丝点击