Taishi-Y
12/22/2017 - 2:59 AM

RecyclerViewAdapterTemplate

RecyclerViewAdapterTemplate


import android.content.Context
import android.support.v7.widget.CardView
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.view.*
import android.widget.TextView


/**
 * Created by yamasakitaishi on 2017/12/06.
 */
class $Adapter_Name(private val context: Context, private val listener: ${NAME}Fragment.On${NAME}FragmentInteractionListener) : RecyclerView.Adapter<${NAME}Adapter.${NAME}ViewHolder>() {

    private var dataList: List<$Model_Name>? = null

    fun setDataList(dataList: List<$Model_Name>) {
        this.dataList = dataList
        this.notifyDataSetChanged()
    }

    override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): ${NAME}ViewHolder {
        val v = LayoutInflater.from(viewGroup.context).inflate(R.layout.$resource_file, null)
        return ${NAME}ViewHolder(v)
    }

    override fun onBindViewHolder(holder: ${NAME}ViewHolder, position: Int) {
        holder.bind(dataList!![position])
    }

    override fun getItemCount(): Int {
        return if (dataList == null) {
            0
        } else {
            dataList?.size!!
        }
    }

    class ${NAME}ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        var tvExample = itemView.findViewById<TextView>(R.id.)
        fun bind(data: $Model_Name) {
            
        }
    }
}

// adapter = CosmeItemAdapter(context, cardViewWidth)
//             adapter?.setListData(sectionList!!, position)
// 
//             holder.rvCosmeList.apply {
//                 setHasFixedSize(true)
//                 layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
//                 adapter = this@CosmeSectionAdapter.adapter
//                 isNestedScrollingEnabled = false
//                 GravitySnapHelper(Gravity.START).attachToRecyclerView(this)
//             }