startActivityForResult理解笔记
2017-10-25 16:54
337 查看
今天进一步理解了startActivityForResult(Intent intent,
int requestCode);onActivityResult(int requestCode, int resultCode, Intent data);和setResult(int
resultCode, Intent data);主要2点,怎么用和调用谁的。
1.一个activity调用startActivityForResult
,进入一个新的activity界面,然后新的activity销毁了,原activity的onActivityResult被调用,其中requestCode为开始调用startActivityForResult设置的requestCode,第二个和第三个参数为新activity在调用finish方法之前调用setResult方法设置的(注意此处一定要在finish之前setResult)。
2.fragment和activity到底谁调用onActivityResult方法:这个要看是谁的context启动的startActivityForResult方法,举例说假如是fragment想让父亲activity的onActivityResult被调用可以使用this.getActivity().startActivityForResult(Intent intent,
int requestCode);
有时候跨activity传递数据还是有点麻烦,比如abc3个页面,a到b到c,c启动b就销毁,c销毁,a并不会调用onActivityResult,所有有时候还是写dialog吧,典型的场合是activity
和dialog同时显示 要先dialog.dismiss() 后activity.finish() 如果直接finish() 会出错 但不影响功能。
int requestCode);onActivityResult(int requestCode, int resultCode, Intent data);和setResult(int
resultCode, Intent data);主要2点,怎么用和调用谁的。
1.一个activity调用startActivityForResult
,进入一个新的activity界面,然后新的activity销毁了,原activity的onActivityResult被调用,其中requestCode为开始调用startActivityForResult设置的requestCode,第二个和第三个参数为新activity在调用finish方法之前调用setResult方法设置的(注意此处一定要在finish之前setResult)。
2.fragment和activity到底谁调用onActivityResult方法:这个要看是谁的context启动的startActivityForResult方法,举例说假如是fragment想让父亲activity的onActivityResult被调用可以使用this.getActivity().startActivityForResult(Intent intent,
int requestCode);
有时候跨activity传递数据还是有点麻烦,比如abc3个页面,a到b到c,c启动b就销毁,c销毁,a并不会调用onActivityResult,所有有时候还是写dialog吧,典型的场合是activity
和dialog同时显示 要先dialog.dismiss() 后activity.finish() 如果直接finish() 会出错 但不影响功能。
相关文章推荐
- Android之startActivityForResult(笔记)
- Android 理解startActivityForResult
- startActivityForResult和onActivityResult的理解
- Ex3.11 对startActivityForResult的理解
- Android应用开发学习笔记之startActivityForResult
- 笔记19--startActivity、startActivityForResult、Bundle--更新传类对象、集合、类对象集合
- startActivityForResult笔记
- Fragment调用startActivityForResult过程笔记
- Android笔记——startActivityForResult使用
- Android 开发笔记 第二季 startActivityForResult
- 【Andorid学习笔记】startActivity和startActivityForResult的用法
- startActivityForResult和setResult 的一点理解
- StartActivityForResult方法和finish方法的一些理解
- 关于activity的startActivityForResult / onActivityResult / setResult学习和理解
- startActivityForResult的使用方法
- startActivity和startActivityForResult以及ActivityManager框架
- startActivityForResult
- startActivityForResult()
- startActivityForResult用法详解
- Activity学习之startActivityForResult()与onPause()的用法