package Ġcom . ax mor . k ash . ui . adapters Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . ViewGroup Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġa ko lo dy az hn yy Ġon Ġ 8 / 2 8 / 2 0 1 7 . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* Ġ@ see Ġcom . ax mor . k ash . sample . ui . adapter . news _ list . Red dit News Adapter Ġ- Ġexample . Ċ Ġ*/ Ċ Ċ open Ġclass ĠK ash Base Adapter Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder > Ġ{ ĊĊĠĠĠ Ġvar Ġitems : ĠMutable List < K ash Adapter ViewType > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġvar Ġdeleg ates Ġ= ĠK ash Adapter Deleg ates Manager () ĊĊĠĠĠ Ġconstructor ( items : ĠList < K ash Adapter ViewType > ?, Ġvar arg Ġdeleg ates : ĠK ash Adapter Delegate ) Ġ: Ġsuper () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( items Ġ!= Ġnull ) Ġthis . items . addAll ( items ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( d Ġin Ġdeleg ates ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . deleg ates . add Delegate ( d ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġitems [ position ]. getView Type () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdeleg ates . onCreate ViewHolder ( parent , Ġview Type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġitems . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdeleg ates . on Bind ViewHolder ( items [ position ], Ġposition , Ġholder ) ĊĠĠĠ Ġ} Ċ }