package Ġcom . lin wei . c ams . base . delegate Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġcom . lin wei . c ams . base . fragment . IF ragment Ċ import Ġcom . lin wei . c ams . ext . obtain App Component Ċ import Ġcom . lin wei . c ams . manager . EventBus Manager Ċ Ċ /** Ċ Ġ* Ġ---------------------------------------------------------------- ----- Ċ Ġ* Ġ@ Author : ĠWe i Sh u ai Ċ Ġ* Ġ@ Time : Ġ 2 0 2 0 / 5 / 2 2 Ċ Ġ* Ġ@ Contact : Ġlin wei 9 6 0 5 @ gmail . com Ċ Ġ* Ġ@ Follow : Ġhttps :// github . com / Wei Sh u ai Dev Ċ Ġ* Ġ@ Description : ĠFragment Delegate Impl ç±» å®ŀçİ° Fragment Delegate , å¹¶ éĩį åĨĻ æīĢæľī æĸ¹æ³ķ , Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ åħģè®¸ åľ¨ çĶŁåĳ½ åĳ¨æľŁ è¿ĩç¨ĭ å¤ĦçĲĨ ä¸ĢäºĽ éĢ»è¾ĳ ãĢĤ Ċ Ġ* ----------------------------------------------------------------------- Ċ Ġ*/ Ċ class ĠFragment Delegate Impl ( ĊĠĠĠ Ġprivate Ġvar Ġm FragmentManager : ĠFragment Manager ?, ĊĠĠĠ Ġprivate Ġvar Ġm Fragment : ĠFragment ? Ċ ) Ġ: ĊĠĠĠ ĠFragment Delegate Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠmContext : ĠContext ĊĠĠĠ Ġprivate Ġvar Ġm IF ragment : ĠIF ragment ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Fragment Ġis ĠIF ragment ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm IF ragment Ġ= Ġm Fragment Ġas ĠIF ragment ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm IF ragment ?. setup Fragment Component ( obtain App Component ()) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . mContext Ġ= Ġcontext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m IF ragment ?. use EventBus () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus Manager . getInstance (). register ( m Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Create ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m IF ragment ?. use EventBus () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus Manager . getInstance (). un Register ( m Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm IF ragment Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġm Fragment Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġm FragmentManager Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠ Ġ} Ċ }