package Ġcom . b end as che l . kotlin playground Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġcom . squareup . pic asso . Pic asso Ċ Ċ class ĠPost Adapter : ĠRecyclerView . Adapter < Post VH >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġposts Ġ= Ġmutable ListOf < Post >() ĊĊĠĠĠ Ġfun Ġupdate ( posts : ĠList < Post >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . posts . addAll ( posts ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPost VH Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . post _ card , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPost VH ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPost VH , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( posts [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġposts . size Ċ } Ċ Ċ class ĠPost VH Ġ( val Ġview : ĠView ): ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĊĠĠĠ Ġval ĠimageView : ĠImageView Ġ= Ġview . findViewById ( R . id . post _ image ) ĊĠĠĠ Ġval Ġtitle View : ĠTextView Ġ= Ġview . findViewById ( R . id . post _ title ) ĊĊĠĠĠ Ġfun Ġbind ( post : ĠPost ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle View . text Ġ= Ġpost . data . title ĊĠĠĠĠĠĠĠ ĠPic asso . with ( imageView . context ). load ( post . data . thumbnail ). into ( imageView ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ