package Ġcom . yo yi yi . sole il . module . home Ċ Ċ import Ġandroid . support . v 7 . widget . Grid LayoutManager Ċ import Ġcom . yo yi yi . sole il . R Ċ import Ġcom . yo yi yi . sole il . adapter . home . section . region . Region Activity Center Section Ċ import Ġcom . yo yi yi . sole il . adapter . home . section . region . Region Entr ance Section Ċ import Ġcom . yo yi yi . sole il . adapter . home . section . region . Region Section Ċ import Ġcom . yo yi yi . sole il . adapter . home . section . region . Region Topic Section Ċ import Ġcom . yo yi yi . sole il . base . Base Refresh Fragment Ċ import Ġcom . yo yi yi . sole il . bean . region . Region Ċ import Ġcom . yo yi yi . sole il . bean . region . Region Tag Type Ċ import Ġcom . yo yi yi . sole il . mvp . contract . home . Region Contract Ċ import Ġcom . yo yi yi . sole il . mvp . presenter . home . Region Presenter Ċ import Ġcom . yo yi yi . sole il . widget . section . Section ed RV Adapter Ċ Ċ /** Ċ Ġ* Ġ@ author Ġzz q Ġ Ġä½ľèĢħ ĠE - mail : ĠĠ Ġsole ily o yi yi @ gmail . com Ċ Ġ* Ġ* Ċ Ġ* Ġ@ date ĠåĪĽå»º æĹ¶éĹ´ ï¼ļ 2 0 1 7 / 5 / 2 3 Ġ 1 4 : 2 3 Ċ Ġ* Ġ* Ġæı ı è¿° : åĪĨ åĮº Ċ Ġ*/ Ċ Ċ class ĠRegion Fragment Ġ: ĠBase Refresh Fragment < Region Presenter , ĠRegion >(), ĠRegion Contract . View Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm Section ed Adapter : ĠSection ed RV Adapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġm Region TypeList Ġ= Ġarray ListOf < Region Tag Type >() ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠRegion Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRegion Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ= ĠR . layout . fragment _ home _ region ĊĊĊĠĠĠ Ġoverride Ġfun Ġinit RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Section ed Adapter Ġ= ĠSection ed RV Adapter () ĊĠĠĠĠĠĠĠ Ġval Ġm LayoutManager Ġ= ĠGrid LayoutManager ( activity , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġm LayoutManager . span Size Lookup Ġ= Ġobject Ġ: ĠGrid LayoutManager . Span Size Lookup () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Span Size ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( m Section ed Adapter ?. get Section Item ViewType ( position )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSection ed RV Adapter . VIEW _ TYPE _ HEADER Ġ-> Ġreturn Ġ 2 // 2 æł¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSection ed RV Adapter . VIEW _ TYPE _ FO OTER Ġ-> Ġreturn Ġ 2 // 2 æł¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Recycler ?. layout Manager Ġ= Ġm LayoutManager ĊĠĠĠĠĠĠĠ Ġm Recycler ?. adapter Ġ= Ġm Section ed Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlazy Load Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Presenter . get Region Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Inject () Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Component . inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Presenter () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Presenter . attach View ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Region ( regions : ĠList < Region >) Ġ{ ĊĠĠĠĠĠĠĠ Ġm List . addAll ( regions ) ĊĠĠĠĠĠĠĠ Ġfinish Task () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Region Type ( region Types : ĠList < Region Tag Type >) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Region TypeList . addAll ( region Types ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfinish Task () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Section ed Adapter ?. add Section ( Region Entr ance Section ( m Region TypeList )) ĊĠĠĠĠĠĠĠ Ġm List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" topic " Ġ-> Ġm Section ed Adapter ?. add Section ( Region Topic Section ( it . body [ 0 ])) // è¯Ŀ é¢ĺ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" activity " Ġ-> Ġm Section ed Adapter ?. add Section ( Region Activity Center Section ( it . body )) // æ´»åĬ¨ ä¸Ńå¿ĥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġm Section ed Adapter ?. add Section ( Region Section ( it . title , Ġit . body )) // åĪĨ åĮº åĴĮ çķª åī § åĮº ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Section ed Adapter ?. notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ