如何使用 Recyclerview Adapter 获取购物车中的总数

新蜜蜂安迪

嗨,我在我的 Android 应用程序中使用 Recyclerview 和 Adapter。在我的应用程序中,我有产品列表屏幕,用户可以在其中设置每个列表项中的数量。我使用两个图像视图来增加和减少数量。现在的问题是,如果我为第一个产品制作 2 个数量,为第二个产品制作 4 个,我的购物车屏幕的总数应该是 6,但我无法获得总数。以下是我的适配器代码,有人可以帮助我吗?

class ProductAdapter(private val cellClickListener: CellClickListener) : RecyclerView.Adapter<ProductViewHolder>() {
    var productsList = mutableListOf<Product>()
     var cartList = mutableListOf<Product>()

   /* fun setMovieList(movies: List<MobileList>) {
        this.movies = movies.toMutableList()
        notifyDataSetChanged()
    }*/

    fun addData(data:List<Product>){
        productsList.addAll(data)
        notifyDataSetChanged()
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ProductViewHolder {
        val inflater = LayoutInflater.from(parent.context)

        val binding = AdapterLayoutBinding.inflate(inflater, parent, false)
        return ProductViewHolder(binding)
    }

    override fun onBindViewHolder(holder: ProductViewHolder, position: Int) {
        val products = productsList[position]
        holder.binding.name.text = products.name
        holder.binding.price.text = products.price
        Glide.with(holder.itemView.context).load(products.image_url).into(holder.binding.imageview)
        var cartCount : Int=0


        holder.binding.cartPlus.setOnClickListener {
            cartCount++
            holder.binding.cartValue.text = cartCount.toString()
            cartList.add(products)
            //println(cartList)
        }

        holder.binding.cartMinus.setOnClickListener {
            cartCount--
            holder.binding.cartValue.text = cartCount.toString()
            cartList.remove(products)
           // println(cartList)
        }
        fun updatedData( updatedcartList:List<Product>){
            cartList.addAll(updatedcartList)

        }
        holder.itemView.setOnClickListener {
            cellClickListener.onCellClickListener(products,cartCount)
        }

    }

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



}

class ProductViewHolder(val binding: AdapterLayoutBinding) : RecyclerView.ViewHolder(binding.root) {

}
interface CellClickListener {
    fun onCellClickListener(data: Product,count:Int)
}
罗斯塔米

使用cartlist.size()的总数。为了在活动中使用,在 Adapter 类中定义它:

class ProductAdapter(private val..
{
...
fun getCartSize():Int {
return cartlist.size()
}
...
}

在活动中,您可以使用:

adapter.getCartsize()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从 Recyclerview Adapter 增加操作栏 Textview 的购物车数量

如何显示整个购物车的总数

如何使用RecyclerView Adapter在SqliteDatabase中添加和更新数据

如何在RecyclerView.Adapter for Snackbar中获取视图?

如何使用ViewBinding在RecyclerView.Adapter?

如何RecyclerView.Adapter使用onActivityResult

如何使用 RecyclerView 完成 Adapter 类的活动

如何从 RecyclerView Adapter 打开片段?

对不同的 RecyclerView 使用相同的 RecyclerView.Adapter?

如何从RecyclerView.Adapter访问LayoutManager以获取scrollToPosition?

如何根据购物车总数显示消息

如何在Adapter类中初始化RecyclerView

如何从RecyclerView.Adapter中的ViewHolder调用MainActivity方法?

如何在RecyclerView Adapter中添加固定按钮?

如何设置Onclick为在Adapter for RecyclerView中动态生成的ImageView

如何在 RecyclerView Adapter (DataBinding) 中调用 startActivity

如何在RecyclerView Adapter中为毕加索设置目标Viewholder

从 Adapter 在 RecyclerView 中设置图像

如何禁用woocommerce中的购物车?

如何显示购物车中的产品?

Prestashop:如何在购物车中获取虚拟产品以在 Address.php 中使用?

Woocommerce 如何使用 jquery 获取“购物车小计”中的值

在RecyclerView.Adapter中获取对ViewHolder的引用

如何在购物应用中添加购物车功能?

在Magento中,如何获取购物车中含税的每种产品的正常价格?

购物车功能如何从php中的2个不同表中获取产品

如何使用一个RecyclerView Adapter使用多个布局?

如何使用dequeueReusableCellWithIdentifier快速管理UITableView中的购物车?

当TextView不在recyclerView行中时,如何在Adapter类中获取活动的TextView?