package Ġcom . k lem er . end less recyclerview Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ internal Ġclass ĠEnd less RecyclerView Adapter (@ Layout Res Ġprivate Ġval Ġcustom View : ĠInt ?) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < End less RecyclerView VH >() Ġ{ ĊĠĠĠ Ġprivate Ġvar ĠisLoading Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠEnd less RecyclerView VH Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġcustom View Ġ?: ĠR . layout . loading ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( view , Ġparent , Ġfalse ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠEnd less RecyclerView VH ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠEnd less RecyclerView VH , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( isLoading ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġ 1 ĊĊĠĠĠ Ġfun Ġshould Loading ( loading : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠisLoading Ġ= Ġloading ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġclass ĠEnd less RecyclerView VH ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠ Ġfun Ġbind ( show Progress : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ ĠitemView . root View . visibility Ġ= Ġif Ġ( show Progress ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠ Ġ} Ċ }