繁体   English   中英

如何使用 viewmodel 和 livedata 将数据从 recyclerview 传递到 android 中的片段

[英]How can i pass the data from recyclerview to fragment in android using viewmodel and livedata

目前,我正在设计购物车......我已经使用回收器视图来显示所有显示项目,并且我已经在回收器视图中添加到购物车按钮,,每当用户点击添加到购物车按钮时,我想增加总项目的计数(总计数按钮存在于片段中的 Recycler 视图之外)我如何将计数值(添加到购物车值)从 Recycler 视图发送到该片段....请帮助我。 我是 android 的新手

class Myadapter: RecyclerView.Adapter<Myadapter.MyViewHolder>() {
 var items=ArrayList<Data>()
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
    return MyViewHolder(LayoutInflater.from(parent.context).
    inflate(R.layout.new_resource,parent,false))
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
   var image=view.image
   var Addtocart=view.Addtocart
   
 Addtocart.setOnClickListener{
 count++

}
}
override fun getItemCount(): Int {
   return items.size
}
 fun setListData(data:ArrayList<Data>){
this.items=data

}

你可以试试这段代码:

class MainFragment : Fragment() {

    private val adapter by lazy {
        MainAdapter(
            ::yourFun
        )
    }
    
    fun yourFun (itemPosition: Int) {
        
    }
}

回收商:

class MainAdapter(private val yourFun: (itemPosition: Int) -> Unit) : RecyclerView.Adapter<Myadapter.MyViewHolder>() {

// other code

inner class ItemViewHolder(item: View) : RecyclerView.ViewHolder(item) {

            // other code

            setOnClickListener { yourFun(position) }
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM