版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
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()
}
}
})
}