package Ġcom . k code . g ank otlin . ui . fragment Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . util . Log Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . k code . g ank otlin . R Ċ import Ġcom . k code . g ank otlin . repository . Article Ċ import Ġcom . k code . g ank otlin . ui . activity . Article Detail Activity Ċ import Ġcom . k code . g ank otlin . ui . adapter . Article Adapter Ċ import Ġcom . k code . g ank otlin . utils . toast Ċ import Ġkotlinx . android . synt hetic . main . fragment _ article _ list .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġca ik Ġon Ġ 2 0 1 7 / 5 / 3 1 . Ċ Ġ*/ Ċ open Ġabstract Ġclass ĠArticle Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġvar Ġadapter : ĠArticle Adapter ? Ġ= Ġnull ĊĊĊĠĠĠ Ġoverride Ġfun Ġinit RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠArticle Adapter ( activity !!. application Context , ĠR . layout . item _ article ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġadapter !!. setOn Load More Listener ({ Ġload More () Ġ}, Ġre cyclerView ) ĊĠĠĠĠĠĠĠ Ġadapter !!. on ItemClickListener Ġ= ĠBase Quick Adapter . On ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter , Ġview , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart 2 Detail ( adapter . data [ position ] Ġas ĠArticle ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload More () Ġ{ ĊĠĠĠĠĠĠĠ Ġpage Number ++ ĊĠĠĠĠĠĠĠ Ġis Refresh Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġload Data ( pageSize , Ġpage Number ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( activity Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity !!. toast ( R . string . load _ failed ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Success ( data : ĠList < Article >) Ġ{ ĊĠĠĠĠĠĠĠ ĠsetUp ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp ( data : ĠList < Article >) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġdata . toString ()) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Refresh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter !!. set New Data ( data ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter !!. addData ( data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Finish () Ġ{ ĊĠĠĠĠĠĠĠ Ġreset Status () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreset Status () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( swipe Layout !!. is Refresh ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Layout !!. is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġadapter !!. load More Complete () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġstart 2 Detail ( article : ĠArticle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( activity , ĠArticle Detail Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" desc ", Ġarticle . desc ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" url ", Ġarticle . url ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} Ċ Ċ }