Activity
setResult(int resultCode, Intent data):如果Activity B调用了该方法,那么Activity B在退出的时候将会把data传给启动该Activity的Activity A,A中的onActivityResult中的第三个参数负责接收。但是该方法在finish()中调用的时候,不能在super.finish()后面调用,否则无效。
onActivityResult(requestCode, resultCode, Intent): 使用startActivityForResult()启动其他Activity的时候,当其他Activity调用setResult的时候回调该方法。
Fragment
onHiddenChanged(boolean hidden):当fragment的隐藏状态发生改变的时候调用该方法。第一次打开Fragment的时候不会调用该方法
onActivityResult(requestCode, resultCode, Intent):
与第三方Activity交互。与第三方交互,仍要采用Android的标准startActivityForResult()和onActivityResult()这二个方法来进行。
但对于Fragment有些事情需要注意,Fragment也有这二个方法,但是为了能正确的让Fragment收到onActivityResult(),需要:
宿主Activity要实现一个空的onActivityResult(),里面调用super.onActivityResult();
调用Fragment#startActivityForResult()启动第三方Activity而不是用Activity的 当然,
也可以直接使用Activity的startActivityForResult(),那样的话,就只能在宿主Activity里处理返回的结果了。
(1)fragmentManager并不是全局唯一的,而是每个activity都有一个自己的FragmentManager。
(2)当第一次进入Activity并打开fragment A的时候:onCreate -> onCreateView -> onActivityCreated -> onStart -> onResume:
(3) 此时切换到其他fragment,fragment A的生命周期并没有发生变化。
(4) 此时从当前Activity跳到其他Activity,fragment A的生命周期:onPause -> onStop
(5) 再回到当前的Activity上,但是并没有回到当前的fragment A上,fragment A的生命周期:onStart -> onResume
(6) 锁屏:onPause -> onStop 解屏:onStart -> onResume
(7)
View
onFinishInflate():从XML加载组建后回调。
onSizeChanged():组件大小改变时回调。
onMeasure():回调该方法来进行测量。
onLayout():回调该方法来确定显示的位置。
onTouchEvent():监听到触摸事件时回调。