ursus
08/01/2018, 4:12 PMclass 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
}