package Ġcom . fp li u . new ton . ui . dialog . list Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . fp li u . new ton . ui . dialog . Custom Dialog Ċ import Ġcom . fp li u . new ton . ui . list . IP ull able RecyclerView Ċ import Ġcom . fp li u . new ton . ui . list . I RecyclerView Ċ import Ġcom . fp li u . new ton . ui . recyclerview . On ItemClickListener Ċ import Ġcom . fp li u . new ton . ui . recyclerview . adapter . Item Adapter Ċ import Ġcom . fp li u . new ton . ui . recyclerview . holder . Item ViewHolder Ċ Ċ abstract Ġclass ĠRecyclerView Dialog Proxy < T >( activity : ĠActivity , Ġprivate Ġval Ġre cyclerView : ĠIP ull able RecyclerView < T >) Ġ: ĠCustom Dialog ( activity ), ĠI RecyclerView < T > Ġby Ġre cyclerView , ĠOn ItemClickListener < T > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġwith ( re cyclerView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetContentView ( init ( activity )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcan Pull Down ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcan Pull Up ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpull ableView Container ?. state View ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġitem Adapter Ġ= Ġobject Ġ: ĠItem Adapter < T >( null ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind Layout ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis @ RecyclerView Dialog Proxy . on Bind Layout ( parent , Ġview Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠItem ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem ViewHolder Ġ= Ġsuper . onCreate ViewHolder ( parent , Ġview Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ RecyclerView Dialog Proxy . onCreate ViewHolder ( item ViewHolder , Ġparent , Ġview Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem ViewHolder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠItem ViewHolder , Ġposition : ĠInt , Ġpayload s : ĠMutable List < Any >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( payload s . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Bind ViewHolder ( holder , Ġposition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ RecyclerView Dialog Proxy . on Bind ViewHolder ( holder , Ġposition , Ġpayload s ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠItem ViewHolder , Ġposition : ĠInt , Ġitem : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ RecyclerView Dialog Proxy . on Bind ViewHolder ( holder , Ġposition , Ġitem ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis @ RecyclerView Dialog Proxy . getItem ViewType ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset On ItemClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( item ViewHolder : ĠItem ViewHolder , Ġparent : ĠViewGroup , Ġview Type : ĠInt ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Click ( holder : ĠItem ViewHolder , Ġposition : ĠInt , Ġitem : ĠT ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠItem ViewHolder , Ġposition : ĠInt , Ġpayload s : ĠMutable List < Any >) Ġ{ ĊĊĠĠĠ Ġ} Ċ } Ċ