android 从Activity跳转到fragment执行onActivityResult最简单的解决方法


在开发android中,有些人往往很疑惑,当一个FragmentActivity中有多个Fragment的时候,如a,b,c三个Fragment(碎片),
其中b中进行了操作,跳转到了新的D界面activity)。但是当D操作完后,返回值到b Fragment(碎片)。

那么问题就来了,肯定会有人问,b是一个Fragment(碎片),如何才能接收到D传过来的值呢?

解决方法非常简单:

1、现在b fragment 中添加 onActivityResult 方法,如下:

 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.i("Test1","-----------requestCode="+requestCode); Log.i("Test1","-----------resultCode="+resultCode); switch (resultCode){ case 1://在这里获取你需要的数据
                Toast.makeText(getContext(),"提交意见反馈成功",Toast.LENGTH_LONG).show(); break; case 2: break; } }

2、在b fragment 跳转到 D Activity 执行如下方法:

startActivityForResult(new Intent(getContext(), FeedbackActivity.class),1);

3、D activity 跳转到 b fragment 执行如下代码:

 setResult(1); finish();

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM