package Ġcom . w sg . up . ui . fragment Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . St agger ed Grid LayoutManager Ċ import Ġcom . sc wang . smart refresh . layout . api . Refresh Layout Ċ import Ġcom . sc wang . smart refresh . layout . listener . OnLoad More Listener Ċ import Ġcom . sc wang . smart refresh . layout . listener . On Refresh Listener Ċ import Ġcom . w sg . base . ext . get ViewModel Ċ import Ġcom . w sg . base . ext . show Toast Ċ import Ġcom . w sg . base . ext . vm Observer Default Ċ import Ġcom . w sg . base . ext . vm Observer Main Ċ import Ġcom . w sg . up . R Ċ import Ġcom . w sg . up . ui . adapter . Community Adapter Ċ import Ġcom . w sg . up . ui . fragment . base . My Base Fragment Ċ import Ġcom . w sg . up . utils . Tools Ċ import Ġcom . w sg . up . view model . Eye ViewModel Ċ import Ġkotlinx . android . synt hetic . main . fragment _ find .* ĊĊ Ċ /** Ċ Ġ* Ġ================================= =============== Ċ Ġ* Ġ ä½ľ ĠĠĠ Ġ èĢħ ï¼ļ w ush ao ge Ċ Ġ* Ġ çīĪ ĠĠĠ Ġæľ¬ ï¼ļ 1 . 0 Ċ Ġ* ĠåĪĽå»º æĹ¥æľŁ ï¼ļ 2 0 2 0 - 0 7 - 2 7 Ġ 1 6 : 3 3 Ċ Ġ* Ġæı ı ĠĠĠ Ġ è¿° ï¼ļ Ċ Ġ* Ġ ä¿® è®¢ åİĨåı² ï¼ļ Ċ Ġ* Ġ================================= =============== Ċ Ġ*/ Ċ class ĠFind Fragment : ĠMy Base Fragment (), ĠOn Refresh Listener , ĠOn Load More Listener Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġm ViewModel : ĠE ye ViewModel ĊĊĠĠĠ Ġlateinit Ġvar Ġadapter : ĠCommunity Adapter ĊĊĠĠĠ Ġvar Ġnext Page Ġ= Ġ"" ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( title : ĠString ?): ĠFind Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠFind Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . setTitle ( title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . putString ("", Ġtitle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Show Loading (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout ID (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ find ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel Ġ= Ġget ViewModel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġs rl _ content . setOn Refresh Listener ( this ) ĊĠĠĠĠĠĠĠ Ġs rl _ content . setOn Load More Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠCommunity Adapter ( mContext ) ĊĠĠĠĠĠĠĠ Ġval Ġmain LayoutManager Ġ= ĠSt agger ed Grid LayoutManager ( 2 , ĠSt agger ed Grid LayoutManager . VERTICAL ) ĊĠĠĠĠĠĠĠ Ġmain LayoutManager . gap Strategy Ġ= ĠSt agger ed Grid LayoutManager . GAP _ HAND LING _ NONE ĊĠĠĠĠĠĠĠ Ġrv _ content . layout Manager Ġ= Ġmain LayoutManager ĊĠĠĠĠĠĠĠ Ġrv _ content . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġrv _ content . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġrv _ content . item Animator Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . refresh Data . vm Observer Main ( this , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Page Ġ= Ġit . next Page Url !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġit . item List !!. filter Ġ{ Ġit . type Ġ== Ġ" community Columns Card "} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set List ( data !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set New Instance ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set Empty View ( Tools . get Empty View ( mContext )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonComplete Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop Load ( srl _ content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġm ViewModel . load More Data . vm Observer Default ( this , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Page Ġ= Ġit . next Page Url !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . remove Empty View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġit . item List !!. filter Ġ{ Ġit . type Ġ== Ġ" community Columns Card "} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . addData ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . show Toast (" æļĤ æĹł æĽ´å¤ļ æķ°æį® ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonComplete Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop Load ( srl _ content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Main Net Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . on Refresh () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Lazy Data () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Refresh ( refresh Layout : ĠRefresh Layout ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . on Refresh () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonLoad More ( refresh Layout : ĠRefresh Layout ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( next Page . isNotEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel . on Load More ( next Page ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } ĊĊĊ