Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME}#end
- //import android.support.v7.widget.RecyclerView
- import androidx.recyclerview.widget.RecyclerView
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import java.util.*
- #parse("File Header.java")
- class ${NAME}(arg1:List<${Model_Class}>,arg2: OnItemClickListener ) : RecyclerView.Adapter<${NAME}.${ViewHolder_Class}>() {
- private var data: List<${Model_Class}> = ArrayList()
- private var onItemClickListener: OnItemClickListener
- init{
- data = arg1
- onItemClickListener = arg2
- }
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ${ViewHolder_Class} {
- val myViewHolder =
- ${ViewHolder_Class}(LayoutInflater.from(parent.context)
- .inflate(R.layout.${Item_Layout_ID}, parent, false))
- myViewHolder?.itemView?.setOnClickListener(View.OnClickListener {
- val position = myViewHolder.adapterPosition
- if(position != RecyclerView.NO_POSITION)
- onItemClickListener.onItemClick(data[position],position)
- })
- return myViewHolder
- }
- override fun getItemCount() = data.size
- override fun onBindViewHolder(holder: ${ViewHolder_Class}, position: Int) {
- holder.bind(data [position])
- }
- fun swapData(data: List<${Model_Class}>) {
- this.data = data
- notifyDataSetChanged()
- }
- class ${ViewHolder_Class}(itemView: View) : RecyclerView.ViewHolder(itemView) {
- fun bind(item: ${Model_Class} ) = with(itemView) {
- // TODO: Bind the data with View
- }
- }
- interface OnItemClickListener {
- fun onItemClick(item: ${Model_Class}, position: Int)
- }
- }
Add Comment
Please, Sign In to add comment