package Ġcom . example . kt zhi h ud aily . adapter Ċ Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . View Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġx ing zhi jian Ġon Ġ 2 0 1 6 / 3 / 1 1 . Ċ Ġ*/ Ċ abstract Ġclass ĠEnd less Recycler On Scroll Listener ( layout Manager : RecyclerView . LayoutManager ) Ġ: ĠRecyclerView . On Scroll Listener (){ ĊĠĠĠ Ġvar Ġvis iable ItemCount : Int Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġtotal ItemCount : Int Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġprevious Total : Int Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġloading : Boolean Ġ= Ġfalse ĊĠĠĠ Ġval Ġlinear LayoutManager : RecyclerView . LayoutManager Ġ= Ġlayout Manager ĊĠĠĠ Ġoverride Ġfun Ġon Sc rolled ( re cyclerView : ĠRecyclerView ?, Ġdx : ĠInt , Ġdy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Sc rolled ( re cyclerView , Ġdx , Ġdy ) ĊĠĠĠĠĠĠĠ Ġvis iable ItemCount Ġ= Ġre cyclerView ?. child Count !! ĊĠĠĠĠĠĠĠ Ġtotal ItemCount Ġ= Ġlinear LayoutManager . item Count ĊĠĠĠĠĠĠĠ Ġif ( loading ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( total ItemCount Ġ> Ġprevious Total Ġ+ 1 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprevious Total Ġ= Ġtotal ItemCount ĊĠĠĠĠĠĠĠ Ġif (! loading Ġ&& Ġtotal ItemCount Ġ> Ġvis iable ItemCount Ġ&& Ġ( total ItemCount Ġ- Ġvis iable ItemCount ) Ġ> Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonLoad More () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun ĠonLoad More () Ċ }