package Ġcom . j enn ifer . andy . simple ey es . widget . pull . refresh Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroidx . recyclerview . widget . Default Item Animator Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . j enn ifer . andy . simple ey es . widget . pull . head . El ite Header View ĊĊ Ċ /** Ċ Ġ* ĠAuthor : Ġ Ġand y . x wt Ċ Ġ* ĠDate : ĠĠĠĠ 2 0 1 8 / 6 / 1 9 Ġ 1 4 : 3 7 Ċ Ġ* ĠDescription : ä¸ĭ æĭī åĪ·æĸ° RecyclerView Ċ Ġ*/ Ċ Ċ class ĠPull To Refresh RecyclerView Ġ: ĠPull To Refresh Base < RecyclerView > Ġ{ ĊĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġthis ( context , Ġnull ) ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġthis ( context , Ġattrs , Ġ 0 ) ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Root View ( context : ĠContext ): ĠRecyclerView Ġ= ĠRecyclerView ( context ) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪ¤æĸŃ å½ĵåīį re cyclerView æĺ¯åĲ¦ æ»ĳ åĬ¨ åĪ° é¡¶ éĥ¨ ï¼Į å¦Ĥæŀľ æĺ¯åľ¨ é¡¶ éĥ¨ å°±åı¯ä»¥ è¿Ľè¡Į ä¸ĭ æĭī ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġis Ready For Pull Start (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġm Root View . adapter ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( adapter Ġ== Ġnull Ġ|| Ġadapter . item Count Ġ== Ġ 0 ) Ġtrue Ġelse Ġ! m Root View . can Scroll Vert ically (- 1 ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® éĢĤ éħį åĻ¨ ä¸İ å¸ĥå±Ģ ç®¡çĲĨ åĻ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Adapter And LayoutManager ( adapter : ĠBase Quick Adapter < *, Ġ* >, Ġlayout Manager : ĠLinearLayoutManager ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Root View . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġm Root View . layout Manager Ġ= Ġlayout Manager ĊĠĠĠĠĠĠĠ Ġm Root View . item Animator Ġ= ĠDefault Item Animator () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ » ļ åĬ¨ åĪ° çĽ¸åºĶ ä½įç½® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsmooth Scroll To Position ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Root View . smooth Scroll To Position ( position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł æ»ĳ åĬ¨ çĽĳåĲ¬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd On Scroll Listener ( on Scroll Listener : ĠRecyclerView . On Scroll Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Root View . add On Scroll Listener ( on Scroll Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Refresh View () Ġ= ĠEl ite Header View ( context ) ĊĊĊĠĠĠ Ġoverride Ġfun Ġdispatch Extra Pull Event ( dy : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh View ?. handle Extra Pull Event ( dy ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispatch Valid Pull Event ( dy : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Refresh View ?. handle Valid Pull Event ( dy ) ĊĠĠĠ Ġ} ĊĊ Ċ }