Newer
Older
MonCalc / app / src / main / kotlin / jackall / moncalc / adapter / RegistAdapter.kt
package jackall.moncalc.adapter

import android.content.Context
import android.databinding.DataBindingUtil
import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.ViewGroup
import jackall.moncalc.R
import jackall.moncalc.databinding.RegistItemBinding
import jackall.moncalc.viewmodel.RegistItemViewModel

/**
 * Created by matsumoto_k on 2017/11/04.
 */
class RegistAdapter(val context: Context, val items: ArrayList<RegistItemViewModel>) : RecyclerView.Adapter<RegistAdapter.ViewHolder>() {
    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHolder {
        val binding = DataBindingUtil.inflate<RegistItemBinding>(LayoutInflater.from(context), R.layout.regist_item, parent, false)
        return ViewHolder(binding)
    }

    override fun onBindViewHolder(holder: ViewHolder?, position: Int) {
        holder?.binding?.viewModel = items.get(position)
    }

    override fun getItemCount(): Int {
        return items.count()
    }

    fun add(item: RegistItemViewModel) {
        items.add(item)
        notifyItemInserted(items.size - 1)
    }

    fun remove() {
        if (itemCount > 1) {
            items.removeAt(itemCount - 1)
            notifyItemRemoved(itemCount)
        }
    }

    inner class ViewHolder(val binding: RegistItemBinding) : RecyclerView.ViewHolder(binding.root)
}