package Ġmo e . f eng . common . arch . list . internal Ċ Ċ import Ġandroid . support . annotation . Call Super Ċ import Ġandroid . widget . Abs ListView Ċ Ċ open Ġclass ĠDefault Multi On Scroll Listener Ġ: ĠMulti On Scroll Listener < Default Multi On Scroll Listener >() Ċ Ċ abstract Ġclass ĠMulti On Scroll Listener < T > Ġ: ĠAbs ListView . On Scroll Listener ĊĠĠĠĠĠĠĠ Ġwhere ĠT Ġ: ĠMulti On Scroll Listener < T > Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġnext Listener : ĠMulti On Scroll Listener < *> ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Scroll ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠAbs ListView ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Visible Item : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisible ItemCount : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal ItemCount : ĠInt ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnext Listener ?. on Scroll ( view , Ġfirst Visible Item , Ġvisible ItemCount , Ġtotal ItemCount ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Scroll StateChanged ( view : ĠAbs ListView ?, Ġscroll State : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnext Listener ?. on Scroll StateChanged ( view , Ġscroll State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetNext Listener (): ĠMulti On Scroll Listener < *> ? Ġ= Ġnext Listener ĊĊĠĠĠ Ġfun Ġset Next Listener ( next Listener : ĠMulti On Scroll Listener < *> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . next Listener Ġ= Ġnext Listener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Next Listener ( next Listener : ĠMulti On Scroll Listener < *> ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . next Listener Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . next Listener Ġ= Ġnext Listener ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . next Listener ?. add Next Listener ( next Listener ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis Ġas ĠT ĊĠĠĠ Ġ} Ċ Ċ }