package Ġcom . mad re ain . lib h ulk . base Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Progress Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . alibaba . android . ar outer . launcher . AR outer Ċ import Ġcom . android advance . tops n ackbar . TS n ackbar Ċ import Ġcom . mad re ain . h ulk . R Ċ import Ġcom . mad re ain . lib h ulk . config . H ulk Config Ċ import Ġcom . mad re ain . lib h ulk . mv vm . Base ViewModel Ċ import Ġcom . mad re ain . lib h ulk . mv vm . I View Ċ import Ġcom . mad re ain . lib h ulk . utils . Toast Utils Ċ import Ġcom . mad re ain . lib h ulk . view . IV ary View Helper Controller Ċ import Ġcom . mad re ain . lib h ulk . view . V ary View Helper Controller Ċ import Ġcom . sc wang . smart refresh . layout . Smart Refresh Layout Ċ import Ġjava . lang . reflect . Parameterized Type Ċ Ċ /** Ċ Ġ* Ġ@ author Ġmad re ain Ċ Ġ* Ġ@ date Ġ 2 0 2 0 / 3 / 1 6 . Ċ Ġ* Ġmodule ï¼ļ Ċ Ġ* Ġdescription ï¼ļ Ċ Ġ*/ Ċ abstract Ġclass ĠBase Fragment < VM Ġ: ĠBase ViewModel <* >, ĠDB Ġ: ĠView Data Binding > Ġ: ĠFragment (), ĊĠĠĠ ĠI View Ġ{ ĊĊĠĠĠ Ġ// view model ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġm ViewModel : ĠVM ĊĠĠĠ Ġ// datab ing ĊĠĠĠ Ġprotected Ġvar Ġm Binding : ĠDB ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Layout Res ĊĠĠĠ Ġabstract Ġfun Ġget Layout Id (): ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ return Ġ è¯¥ View ĠæĽ ¿ æį¢ ä¸º æĺ¾ç¤º loading View Ġ æĪĸèĢħ Ġempty View Ġ æĪĸèĢħ Ġnet Work Error View ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġget Replace View (): ĠView ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġinit ( savedInstanceState : ĠBundle ?) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæĽ ¿ æį¢ view ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġview Controller : ĠIV ary View Helper Controller ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼¹ çªĹ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġdialog : ĠProgress Dialog ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĪ·æĸ° çĽ¸åħ³ Ġ åĽłä¸º åįķ çķĮéĿ¢ ä¸įåŃĺåľ¨ åĬłè½½ ï¼Į è¿Ļæł· åıª éĴĪå¯¹ æĺ¯åĲ¦ å¼ĢåĲ¯ åĪ·æĸ° åĬŁèĥ½ åģļ å¤ĦçĲĨ ï¼Į åı¯ è®¾ç½®ä¸º null ï¼Į ä¸º null åĪĻ ä¸į åħ· å¤ĩ åĪ·æĸ° çĽ¸åħ³ èĥ½åĬĽ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġget Smart Refresh Layout (): ĠSmart Refresh Layout ? ĊĊĠĠĠ Ġprivate Ġvar Ġm Refresh Enable Ġ= Ġtrue Ġ// æĺ¯åĲ¦ èĥ½ è¿Ľè¡Į ä¸ĭ æĭī åĪ·æĸ° ĊĊĠĠĠ Ġabstract Ġfun Ġrefresh Data () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcls Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( java Class . generic Super class Ġas ĠParameter ized Type ). actual Type Arguments [ 1 ] Ġas ĠClass < *> ĊĠĠĠĠĠĠĠ Ġif Ġ( ViewData Binding :: class . java Ġ!= Ġcls Ġ&& ĠView Data Binding :: class . java . isAssignableFrom ( cls )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding Ġ= ĠData Binding Util . inflate ( in flater , Ġget Layout Id (), Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Binding ?. root ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( get Layout Id (), Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( H ulk Config . is A router Open ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA Router . getInstance (). inject ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcreate ViewModel () ĊĠĠĠĠĠĠĠ Ġview Controller Ġ= Ġinit V ary View Helper Controller () ĊĠĠĠĠĠĠĠ Ġlifecycle . add Observer ( m ViewModel ) ĊĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ ĠUI äºĭä»¶ ĊĠĠĠĠĠĠĠ Ġregister View Change () ĊĠĠĠĠĠĠĠ Ġinit Refresh () ĊĠĠĠĠĠĠĠ Ġinit ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġview ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġfun Ġinit V ary View Helper Controller (): ĠIV ary View Helper Controller ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠV ary View Helper Controller ( get Replace View ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Refresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( get Smart Refresh Layout () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Smart Refresh Layout ()?. isEnabled Ġ= Ġm Refresh Enable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¸į åħ· å¤ĩ åĬłè½½ åĬŁèĥ½ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Smart Refresh Layout ()?. set Enable Load More ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Refresh Enable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Smart Refresh Layout ()?. setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġactual Type Arguments [ 0 ] Ġ ĠBase ViewModel ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġactual Type Arguments [ 1 ] Ġ ĠView Data Binding ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġcreate ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// åĪĽå»º view model ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġjava Class . generic Super class ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġis ĠParameter ized Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtp Ġ= Ġtype . actual Type Arguments [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt Class Ġ= Ġtp Ġas ? ĠClass < VM > Ġ?: ĠBase ViewModel :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel Ġ= ĠViewModel Providers . of ( this )[ t Class ] Ġas ĠVM ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æ³¨åĨĮ ĠUI Ġ äºĭä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġregister View Change () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . view Change . show Loading . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Controller ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! it . is Has Restore ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . view Change . show Dialog Progress . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dialog Progress ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . view Change . dismiss Dialog . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Dialog () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . view Change . show Toast . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . view Change . show Tips . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Tips ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . view Change . show Empty . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Empty ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . view Change . show Network Error . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Network Error ( it , Ġm ViewModel . listener ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm ViewModel . view Change . restore . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Controller ?. restore () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä»£è¡¨ æľī è®¾ç½® åĪ·æĸ° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Smart Refresh Layout () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Smart Refresh Layout ()?. finish Refresh () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĽ¸åħ³ view æĽ¿æį¢ ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġoverride Ġfun Ġshow Tips ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsn ackBar Ġ= ĠT Snackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . findViewById ( android . R . id . content ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmsg , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT Snackbar . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsn ackBar View Ġ= Ġsn ackBar . view ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsn ackBar View . set BackgroundColor ( resources . getColor ( R . color . color Accent )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsn ackBar View . findViewById < TextView >( com . android advance . tops n ackbar . R . id . sn ackbar _ text ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . setTextColor ( resources . getColor ( R . color . m 9 0 EE 9 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsn ackBar . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Dialog Progress ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Dialog Progress ( msg , Ġtrue , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Dialog Progress ( ĊĠĠĠĠĠĠĠ Ġmsg : ĠString , ĊĠĠĠĠĠĠĠ Ġcancel able : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġon Cancel Listener : ĠDialog Interface . On Cancel Listener ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= ĠProgress Dialog ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. set Cancel able ( cancel able ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. set Canceled On Touch Outside ( cancel able ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. setOn Cancel Listener ( on Cancel Listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( msg )) Ġdialog ?. setMessage ( msg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. show () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdismiss Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is Showing ) Ġit . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Controller ?. show Loading () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading ( msg : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Controller ?. show Loading ( msg ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Empty ( content : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Controller ?. show Empty ( content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Empty ( ĊĠĠĠĠĠĠĠ Ġcontent : ĠString ?, ĊĠĠĠĠĠĠĠ Ġclick Listener : ĠView . OnClickListener ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Controller ?. show Empty ( content , Ġclick Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Network Error ( listener : ĠView . OnClickListener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Controller ?. show Network Error ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Network Error ( ĊĠĠĠĠĠĠĠ Ġmsg : ĠString ?, ĊĠĠĠĠĠĠĠ Ġlistener : ĠView . OnClickListener ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Controller ?. show Network Error ( msg , Ġlistener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Custom View ( ĊĠĠĠĠĠĠĠ Ġdrawable Int : ĠInt , ĊĠĠĠĠĠĠĠ Ġtitle : ĠString ?, ĊĠĠĠĠĠĠĠ Ġmsg : ĠString ?, ĊĠĠĠĠĠĠĠ Ġbtn Text : ĠString ?, ĊĠĠĠĠĠĠĠ Ġlistener : ĠView . OnClickListener ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Controller ?. show Custom View ( drawable Int , Ġtitle , Ġmsg , Ġbtn Text , Ġlistener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrestore () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Controller ?. restore () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġis Has Restore : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġview Controller ?. is Has Restore Ġ?: Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġshow Toast ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast Utils . show Short Toast Safe ( h ulk Activity , Ġmsg ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Toast ( msg : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġh ulk Activity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show ( it , Ġmsg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġh ulk Activity : ĠActivity ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġactivity ĊĊĠĠĠ Ġoverride Ġval Ġh ulk Context : ĠContext ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcontext ĊĊĠĠĠ Ġoverride Ġval Ġh ulk AppContext : ĠContext ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġactivity ?. application Context ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ Ġ@ param Ġrefresh Enable Ġè®¾ç½® æĺ¯åĲ¦ åĪ·æĸ° æĵįä½ľ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġset Refresh Enable ( refresh Enable : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ä¸į ä¸ºç©º æīį åı¯ä»¥ åĪ·æĸ° ĊĠĠĠĠĠĠĠ Ġif Ġ( get Smart Refresh Layout () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Refresh Enable Ġ= Ġrefresh Enable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Smart Refresh Layout ()?. isEnabled Ġ= Ġm Refresh Enable ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġ// çĽ¸åħ³ éĶĢ æ¯ ģ ï¼Į çĽ¸åħ³ äºĭä»¶ ç½® ç©º ĊĠĠĠĠĠĠĠ Ġif Ġ( m Binding Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding Ġ== Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( view Controller Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Controller Ġ== Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ== Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( get Smart Refresh Layout () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Smart Refresh Layout ()?. setOn Refresh Listener ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Smart Refresh Layout ()?. setOn Load More Listener ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Smart Refresh Layout () Ġ== Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }