package Ġcom . hub urt . image picker Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . net . Uri Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Abs ListView Ċ import Ġandroid . widget . ImageView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . hub urt . library . bean . Image Item Ċ import Ġcom . hub urt . library . util . Utils Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġhub ert Ċ Ġ* Ċ Ġ* ĠCreated Ġon Ġ 2 0 1 7 / 1 0 / 2 4 . Ċ Ġ*/ Ċ class ĠImage Adapter Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġimages : ĠList < Image Item > Ċ ) Ġ: ĠRecyclerView . Adapter < Image Adapter . ImageView Holder >() Ġ{ ĊĊĠĠĠ Ġvar Ġlistener : ĠOn ItemClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġupdate Data ( images : ĠList < Image Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . images Ġ= Ġimages ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup ?, Ġview Type : ĠInt ): ĠImage ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠImage ViewHolder ( LayoutInflater . from ( parent ?. context ). inflate ( R . layout . item _ image , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠImage ViewHolder ?, Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder ?. imageView ?. setOnClickListener ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. on Item Click ( position ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠG lide . with ( holder ?. imageView ?. context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( Uri . from File ( File ( images [ position ]. path ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder ?. imageView ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġimages . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠImage ViewHolder Ġconstructor ( var Ġroot View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( root View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠimageView : ĠImageView Ġ= Ġroot View . findViewById ( R . id . iv ) Ġas ĠImageView ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . layout Params Ġ= ĠAbs ListView . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĠUtils . getImage Item Width ( root View . context Ġas ĠActivity )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Item Click ( position : ĠInt ) ĊĠĠĠ Ġ} Ċ }