package Ġcom . sam ru dd hi . re cycl erm ult iv iew Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġjava . util .* Ċ Ċ class ĠGallery Adapter ( var Ġgallery Items List : ĠArrayList < Gallery Item >, Ġvar Ġcontext : ĠContext ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( view Type Ġ== ĠG ALL ERY _ SMALL _ IMAGE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . item _ small _ photo , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPhoto Small ViewHolder ( view ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . item _ large _ photo , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPhoto Large ViewHolder ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġphoto Gallery Item Ġ= Ġgallery Items List [ position ] ĊĠĠĠĠĠĠĠ Ġif Ġ( holder Ġis ĠPhoto Small ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Photo Small . setImage Resource ( photo Gallery Item . int Photo ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( holder Ġis ĠPhoto Large ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Photo Large . setImage Resource ( photo Gallery Item . int Photo ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgallery Items List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( gallery Items List [ position ]. size Ġ== Ġ" big ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG ALL ERY _ LARGE _ IMAGE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG ALL ERY _ SMALL _ IMAGE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠPhoto Small ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġiv Photo Small : ĠImageView Ġ= ĠitemView . findViewById ( R . id . img _ small _ photo ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠPhoto Large ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġiv Photo Large : ĠImageView Ġ= ĠitemView . findViewById ( R . id . img _ large _ photo ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠG ALL ERY _ LARGE _ IMAGE Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠG ALL ERY _ SMALL _ IMAGE Ġ= Ġ 1 ĊĠĠĠ Ġ} Ċ }