package Ġcom . ifu colo . merge adapter example . adapter Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ifu colo . merge adapter example . Load State Ċ import Ġcom . ifu colo . merge adapter example . R Ċ import Ġcom . ifu colo . merge adapter example . ext es ions . inflate Ċ import Ġcom . ifu colo . merge adapter example . ext es ions . visible Ċ import Ġkotlinx . android . synt hetic . main . item _ load _ state . view .* ĊĊ Ċ class ĠLoad State Adapter Ġ: ĠRecyclerView . Adapter < Load State Adapter . Load State ViewHolder >() Ġ{ ĊĊĠĠĠ Ġvar Ġload State : ĠLoad State Ġ= ĠLoad State . Done ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( field ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Changed ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLoad State . Loading Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Removed ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLoad State . Done Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems Count Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Inserted ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġitems Count : ĠInt Ġ= Ġ 0 ĊĊĊĠĠĠ Ġinner Ġclass ĠLoad State ViewHolder ( parent : ĠViewGroup ) Ġ: ĠRecyclerView . ViewHolder ( parent . inflate ( VIEW _ ID )) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( load State : ĠLoad State ) Ġ= Ġwith ( item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ bar . visible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisible Ġ= ĠLoad State . Loading Ġ== Ġload State ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ) Ġ= ĠLoad State ViewHolder ( parent ) ĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ= ĠVIEW _ ID ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġitems Count ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠLoad State ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( load State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠVIEW _ ID Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ load _ state ĊĠĠĠ Ġ} Ċ }