【发布时间】:2021-10-08 08:57:52
【问题描述】:
所以我有一辆这样的购物车。加载所有项目时计算总成本(左下角)。现在的问题是,如果不滚动,项目就不会加载。因此,初始总计仅显示在屏幕上可见的前 2 个项目。 如何加载所有项目而无需手动滚动?我尝试过自动滚动,但这不起作用;它滚动到底部,但总数不变。
请注意,这不仅仅是初始滚动。后来,随着我们上下滚动,总数不断增加。现在计算正在 onBindViewHolder 中完成,我知道每次滚动时都会调用它。我该如何避免呢?
我可以提供所有代码,但我不知道该发布哪个部分...
recyclerView = findViewById(R.id.recvwCartList)
val options: FirebaseRecyclerOptions<Cart> = FirebaseRecyclerOptions.Builder<Cart>()
.setQuery(cartRef.child(currentUserPhone).child("Products"), Cart::class.java)
.build()
adapter =
object : FirebaseRecyclerAdapter<Cart, CartViewHolder>(options) {
override fun onBindViewHolder(
holder: CartViewHolder,
position: Int,
model: Cart
) {
//initializations
imgbtnCartMinus = holder.ibCartMinus
imgbtnCartPlus = holder.ibCartPlus
txtvwCartTotalAmount = findViewById(R.id.txtvwCartTotalAmount)
//assigning values
holder.tvProductName.text = model.productName
holder.tvProductPrice.text =
resources.getString(R.string.rupee_symbol, model.price)
holder.tvCartProductQuantity.text = model.quantity
我应该如何在这里得到总数?
【问题讨论】:
-
这是一个违背工作原理的要求。为什么会有这样的要求?
-
第一次使用recyclerview。我不知道这一切。
-
使用 Recyclerview 加载新项目时会加载。
标签: android android-recyclerview scroll