``` class ArchiveItemsAdapter( context: Co...
# getting-started
u
Copy code
class ArchiveItemsAdapter(
        context: Context,
        private val listener: (ArchiveItem) -> Unit
) : RecyclerView.Adapter<ArchiveItemsAdapter.ViewHolder>() {

    private val inflater = LayoutInflater.from(context)
    private var items: List<ArchiveItem>? = null

    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int) =
            ViewHolder(inflater.inflate(R.layout.item_archive_item, parent, false), object : AdapterClickListener() {
                override fun onClick(position: Int) {
                    items?.apply { listener(this[position]) }
                }
            })

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        items?.apply { holder.bindTo(this[position]) }
    }

    fun setItems(items: List<ArchiveItem>) {
        this.items = items
        notifyDataSetChanged()
    }

    override fun getItemCount() = items?.size ?: 0
}