package Ġdev . base . utils . assist Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . sc wang . smart . refresh . layout . Smart Refresh Layout Ċ import Ġcom . sc wang . smart . refresh . layout . api . Refresh Footer Ċ import Ġcom . sc wang . smart . refresh . layout . api . Refresh Header Ċ import Ġcom . sc wang . smart . refresh . layout . listener . OnLoad More Listener Ċ import Ġcom . sc wang . smart . refresh . layout . listener . On Refresh Listener Ċ import Ġcom . sc wang . smart . refresh . layout . listener . On Refresh Load More Listener Ċ import Ġdev . assist . Page Ass ist Ċ Ċ /** Ċ Ġ* Ġdetail : ĠDev Base ĠRefresh Layout Ġ è¾ ħ åĬ© ç±» Ċ Ġ* Ġ@ author ĠT tt Ċ Ġ*/ Ċ class ĠDev Base Refresh Ass ist < T > Ġ{ ĊĊĠĠĠ Ġ// Ġè¯·æ±Ĥ é¡µ æķ° è¾ ħ åĬ© ç±» ĊĠĠĠ Ġprivate Ġvar Ġm Page Ass ist Ġ= ĠPage Ass ist < T >() ĊĊĠĠĠ Ġ// ĠRefresh ĠLayout ĊĠĠĠ Ġprivate Ġvar Ġm Refresh Layout : ĠSmart Refresh Layout ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ĠRecyclerView ĊĠĠĠ Ġprivate Ġvar Ġm RecyclerView : ĠRecyclerView ? Ġ= Ġnull ĊĊĠĠĠ Ġ// Ġ éĢļ çĶ¨ éĢĤ éħį åĻ¨ ĊĠĠĠ Ġprivate Ġvar Ġm Adapter : ĠBase Quick Adapter < *, Ġ* >? Ġ= Ġnull ĊĊĠĠĠ Ġ// Ġ= ========== ĊĠĠĠ Ġ// Ġ= Ġget / set Ġ= ĊĠĠĠ Ġ// Ġ= ========== ĊĊĠĠĠ Ġfun Ġget Page Ass ist (): ĠPage Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Page Ass ist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Page Ass ist ( page Ass ist : ĠPage Ass ist < T >): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Page Ass ist Ġ= Ġpage Ass ist ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Refresh Layout (): ĠSmart Refresh Layout ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Refresh Layout ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Refresh Layout ( refresh Layout : ĠSmart Refresh Layout ?): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout Ġ= Ġrefresh Layout ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget RecyclerView (): ĠRecyclerView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm RecyclerView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset RecyclerView ( re cyclerView : ĠRecyclerView ?): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm RecyclerView Ġ= Ġre cyclerView ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T Ġ: ĠBase Quick Adapter < *, Ġ*> ?> Ġget Adapter (): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. let Ġ{ Ġreturn Ġm Adapter Ġas ĠT ? Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Adapter ( adapter : ĠBase Quick Adapter < *, Ġ* >? ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm RecyclerView ?. adapter Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ= ========== ĊĠĠĠ Ġ// Ġ= Ġ å¿« æį · æĸ¹æ³ķ Ġ= ĊĠĠĠ Ġ// Ġ= ========== ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® ĠLayout Manager ĊĠĠĠĠ Ġ* Ġ@ param Ġlayout Manager Ġ[ LayoutManager ] ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset LayoutManager ( layout Manager : ĠRecyclerView . LayoutManager ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm RecyclerView ?. layout Manager Ġ= Ġlayout Manager ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ åĲ¯çĶ¨ ä¸ĭ æĭī åĪ·æĸ° ĊĠĠĠĠ Ġ* Ġ@ param Ġenabled Ġæĺ¯åĲ¦ åĲ¯çĶ¨ ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Enable Refresh ( enabled : ĠBoolean ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. set Enable Refresh ( enabled ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ åĲ¯çĶ¨ ä¸Ĭ æĭī åĬłè½½ æĽ´å¤ļ ĊĠĠĠĠ Ġ* Ġ@ param Ġenabled Ġæĺ¯åĲ¦ åĲ¯çĶ¨ ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Enable Load More ( enabled : ĠBoolean ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. set Enable Load More ( enabled ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® æķ°æį® åħ¨éĥ¨ åĬłè½½ å®ĮæĪĲ Ġ( Ġå°Ĩ ä¸įèĥ½ åĨį æ¬¡ è§¦åıĳ åĬłè½½ åĬŁèĥ½ Ġ) ĊĠĠĠĠ Ġ* Ġ@ param Ġno More Data Ġæĺ¯åĲ¦ æľī æĽ´å¤ļ æķ°æį® Ġ` true ` Ġ æĹł æķ°æį® , Ġ` false ` Ġ è¿ĺæľī æķ°æį® ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset No More Data ( no More Data : ĠBoolean ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. set No More Data ( no More Data ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åĪ·æĸ° çĽĳåĲ¬ åĻ¨ ĊĠĠĠĠ Ġ* Ġ@ param Ġlistener Ġ åĪ·æĸ° çĽĳåĲ¬ åĻ¨ ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset On Refresh Listener ( listener : ĠOn Refresh Listener ?): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. setOn Refresh Listener ( listener ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åĬłè½½ çĽĳåĲ¬ åĻ¨ ĊĠĠĠĠ Ġ* Ġ@ param Ġlistener Ġ åĬłè½½ çĽĳåĲ¬ åĻ¨ ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset OnLoad More Listener ( listener : ĠOn Load More Listener ?): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. setOn Load More Listener ( listener ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åĪ·æĸ° åĴĮ åĬłè½½ çĽĳåĲ¬ åĻ¨ ĊĠĠĠĠ Ġ* Ġ@ param Ġlistener Ġ åĪ·æĸ° ãĢģ åĬłè½½ çĽĳåĲ¬ åĻ¨ ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset On Refresh Load More Listener ( listener : ĠOn Refresh Load More Listener ?): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. setOn Refresh Load More Listener ( listener ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ= ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å®ĮæĪĲ åĪ·æĸ° ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfinish Refresh (): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. let Ġ{ Ġif Ġ( it . is Refresh ing ) Ġit . finish Refresh () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å®ĮæĪĲ åĬłè½½ ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfinish Load More (): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. finish Load More () ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å®ĮæĪĲ åĪ·æĸ° ãĢģ åĬłè½½ ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfinish Refresh And Load (): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfinish Refresh (). finish Load More () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å®ĮæĪĲ åĪ·æĸ° æĪĸ åĬłè½½ ĊĠĠĠĠ Ġ* Ġ@ param Ġrefresh Ġæĺ¯åĲ¦ åĪ·æĸ° ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfinish Refresh Or Load ( refresh : ĠBoolean ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( refresh ) Ġfinish Refresh () Ġelse Ġfinish Load More () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ= ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ å¤´ éĥ¨ ĠView Ġ æķ°éĩı ĊĠĠĠĠ Ġ* Ġ@ return Ġ å¤´ éĥ¨ ĠView Ġ æķ°éĩı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Header Layout Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Adapter ?. header Layout Count Ġ?: Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł å¤´ éĥ¨ ĠView ĊĠĠĠĠ Ġ* Ġ@ param Ġheader Ġheader ĠView ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Header View ( header : ĠView ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. add Header View ( header ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł å¤´ éĥ¨ ĠView Ġ åĪ° æĮĩå®ļ ä½įç½® ĊĠĠĠĠ Ġ* Ġ@ param Ġheader Ġheader ĠView ĊĠĠĠĠ Ġ* Ġ@ param Ġindex Ġ Ġindex ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Header View ( header : ĠView , Ġindex : ĠInt ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. add Header View ( header , Ġindex ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç§»éĻ¤ å¤´ éĥ¨ ĠView ĊĠĠĠĠ Ġ* Ġ@ param Ġheader Ġheader ĠView ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġremove Header View ( header : ĠView ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. remove Header View ( header ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ¸ ħ ç©º å¤´ éĥ¨ ĠView ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġremove All Header View (): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. removeAll Header View () ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ= ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ åºķ éĥ¨ ĠView Ġ æķ°éĩı ĊĠĠĠĠ Ġ* Ġ@ return Ġ åºķ éĥ¨ ĠView Ġ æķ°éĩı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Footer Layout Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Adapter ?. footer Layout Count Ġ?: Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł åºķ éĥ¨ ĠView ĊĠĠĠĠ Ġ* Ġ@ param Ġfooter Ġfooter ĠView ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Footer View ( footer : ĠView ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. add Footer View ( footer ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł åºķ éĥ¨ ĠView Ġ åĪ° æĮĩå®ļ ä½įç½® ĊĠĠĠĠ Ġ* Ġ@ param Ġfooter Ġfooter ĠView ĊĠĠĠĠ Ġ* Ġ@ param Ġindex Ġ Ġindex ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Footer View ( footer : ĠView , Ġindex : ĠInt ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. add Footer View ( footer , Ġindex ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç§»éĻ¤ åºķ éĥ¨ ĠView ĊĠĠĠĠ Ġ* Ġ@ param Ġfooter Ġfooter ĠView ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġremove Footer View ( footer : ĠView ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. remove Footer View ( footer ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ¸ ħ ç©º åºķ éĥ¨ ĠView ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġremove All Footer View (): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. removeAll Footer View () ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® æĮĩå®ļ åĪ·æĸ° å¤´ ĊĠĠĠĠ Ġ* Ġ@ param Ġheader ĠRefresh Header Ġ åĪ·æĸ° å¤´ ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Refresh Header ( header : ĠRefresh Header ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. set Refresh Header ( header ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® æĮĩå®ļ åĪ·æĸ° å°¾ å·´ ĊĠĠĠĠ Ġ* Ġ@ param Ġfooter ĠRefresh Footer Ġ åĪ·æĸ° å°¾ å·´ ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Dev Base Refresh Ass ist ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Refresh Footer ( footer : ĠRefresh Footer ): ĠDev Base Refresh Ass ist < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh Layout ?. set Refresh Footer ( footer ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ }