KotLIn RecycLerView

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/LH_sunshine/article/details/102574872

kntLin——RecyclerView 的适配器

class MeauAdapter(val context:Context) : RecyclerView.Adapter<MeauAdapter.MyHolder>() {

    var list:ArrayList<MenuBean> = ArrayList()

    var menuOnClicklister:MenuOnClicklister ?= null

    fun setData(list: ArrayList<MenuBean>){
        this.list = list

        notifyDataSetChanged()

    }
    fun setClick( menuOnClicklister:MenuOnClicklister){
        this.menuOnClicklister = menuOnClicklister

    }




    override fun onCreateViewHolder(p0: ViewGroup, p1: Int): MyHolder {
          val view:View = LayoutInflater.from(context).inflate(R.layout.meaulist,p0,false)
        return MyHolder(view)
    }

    override fun getItemCount(): Int {
       return list.size
    }

    override fun onBindViewHolder(myHolder: MyHolder, postion: Int) {

          myHolder.menuname.text = list.get(postion).menuname
          Glide.with(context).load(list.get(postion).pic).into(myHolder.ima)
          myHolder.shapname.text = list.get(postion).shapname
          myHolder.menunum.text = list.get(postion).num.toString()

          menuOnClicklister?.OnClicklister(myHolder.itemView,postion)
    }



  class MyHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val ima:ImageView
        val shapname:TextView
        val menuname:TextView
        val menunum:TextView

        init {
            ima = itemView.findViewById(R.id.meau_ima)
            shapname = itemView.findViewById(R.id.meau_shapname)
            menuname = itemView.findViewById(R.id.meau_meauname)
            menunum = itemView.findViewById(R.id.meau_menunum)
        }
    }
}

接口类

interface MenuOnClicklister {
    fun OnClicklister(view :View,postion:Int)
}

设置事件

menuAdapter.setClick(object :MenuOnClicklister{
            override fun OnClicklister(view: View,postion:Int) {
                val save = view.findViewById<Button>(R.id.meau_save)
                val num = list.get(postion).num
                val pic = list.get(postion).pic
                val menuname = list.get(postion).menuname


                save.setOnClickListener {

                    val menuDb:MenuDb = MenuDb()

                    menuDb.menuname = menuname
                    menuDb.pic = pic
                    menuDb.menunum = num.toString()
                    menuDb.shapname = shapname


                    dao?.create(menuDb)

                    Toast.makeText(this@MeauActivity,"加入成功",Toast.LENGTH_SHORT).show()



                }
            }
        })


    }

猜你喜欢

转载自blog.csdn.net/LH_sunshine/article/details/102574872