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():監聽到觸摸事件時回調。