项目中Fragment 跳转一个新的Activity,需要执行startActivityForResult,但是回来发现Fragment 里面的onActivityResult不执行,下面的解决办法是:
第一部分:Frangment跳转Activity 如下:
startActivityForResult();
我是有个BaseActivity继承FragmentActivity 里面重写:
protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); }
一定要记住加上
<pre name="code" class="java">super.onActivityResult(requestCode, resultCode, data);
我的MainActivity继承BaseActivity 里面也重写:
protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); }
<span style="font-size:18px;">也要加上</span>
super.onActivityResult(requestCode, resultCode, data);
最后是Fragment里面
public void onActivityResult(int requestCode, int resultCode, Intent data) {
<span style="white-space:pre"> </span>//处理逻辑 };
这样他处理就会找下去,然后Fragment里面执行!
但是给目标的Activity设置android:launchMode="singleTask"这样启动模式 这种方法就不好使了!
时间: 2024-11-05 17:28:20