package Ġcom . tc . ke fan . ui . fragment Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . View Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . tc . ke fan . R Ċ import Ġcom . tc . ke fan . adapter . Knowledge Tree Adapter Ċ import Ġcom . tc . ke fan . base . Base M vp List Fragment Ċ import Ġcom . tc . ke fan . constant . Constant Ċ import Ġcom . tc . ke fan . mvp . contract . Knowledge Tree Contract Ċ import Ġcom . tc . ke fan . mvp . model . bean . Knowledge Tree Body Ċ import Ġcom . tc . ke fan . mvp . presenter . Knowledge Tree Presenter Ċ import Ġcom . tc . ke fan . ui . activity . Knowledge Activity Ċ import Ġkotlinx . android . synt hetic . main . fragment _ refresh _ layout .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġt uc ai Ġon Ġ 2 0 1 8 / 5 / 8 . Ċ Ġ*/ Ċ class ĠKnowledge Tree Fragment Ġ: ĠBase M vp List Fragment < Knowledge Tree Contract . View , ĠKnowledge Tree Contract . Presenter >(), ĠKnowledge Tree Contract . View Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance (): ĠKnowledge Tree Fragment Ġ= ĠKnowledge Tree Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdatas ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġdatas Ġ= Ġmutable ListOf < Knowledge Tree Body >() ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdapter ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġm Adapter : ĠKnowledge Tree Adapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠKnowledge Tree Adapter ( activity , Ġdatas ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Presenter (): ĠKnowledge Tree Contract . Presenter Ġ= ĠKnowledge Tree Presenter () ĊĊĠĠĠ Ġoverride Ġfun Ġattach Layout Res (): ĠInt Ġ= ĠR . layout . fragment _ refresh _ layout ĊĊĠĠĠ Ġoverride Ġfun Ġinit View ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init View ( view ) ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġm Adapter ĊĊĠĠĠĠĠĠĠ Ġm Adapter . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind To RecyclerView ( re cyclerView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Enable Load More ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon ItemClickListener Ġ= Ġthis @ Knowledge Tree Fragment . on ItemClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġset Empty View ( R . layout . fragment _ empty _ layout ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlazy Load () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Layout Status View ?. show Loading () ĊĠĠĠĠĠĠĠ Ġm Presenter ?. request Knowledge Tree () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Refresh List () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Presenter ?. request Knowledge Tree () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonLoad More List () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . hide Loading () ĊĠĠĠĠĠĠĠ Ġm Adapter . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload More Complete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error ( error Msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . show Error ( error Msg ) ĊĠĠĠĠĠĠĠ Ġm Adapter . load More Fail () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġscroll To Top () Ġ{ ĊĠĠĠĠĠĠĠ Ġre cyclerView . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( linear LayoutManager . findFirst Visible Item Position () Ġ> Ġ 2 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Position ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsmooth Scroll To Position ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Knowledge Tree ( lists : ĠList < Knowledge Tree Body >) Ġ{ ĊĠĠĠĠĠĠĠ Ġlists . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreplace Data ( lists ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( m Adapter . data . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Layout Status View ?. show Empty () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Layout Status View ?. show Content () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠItem ClickListener ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġon ItemClickListener Ġ= ĠBase Quick Adapter . On ItemClickListener Ġ{ Ġ_, Ġ_, Ġposition Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( datas . size Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġdatas [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( activity , ĠKnowledge Activity :: class . java ). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Constant . CONTENT _ TITLE _ KEY , Ġdata . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Constant . CONTENT _ DATA _ KEY , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }