【发布时间】:2020-09-26 14:10:17
【问题描述】:
我见过类似的问题,但对我没有帮助。我会尽量具体说明我的问题。我的购物车中有产品列表。当我搜索产品时,我希望为购物车中已存在的商品禁用“添加到购物车”按钮。
购物车项目列表在我的视图模型中。
我是这样接近的—— 当针对特定位置调用 onBindViewHolder 时,我需要搜索当前商品(产品)是否存在于购物车中的商品列表中,如果存在则禁用 Button。
我的问题是购物车在 Viewmodel 中,我发现自己无法从 OnBindViewholder 方法调用 viewmodel。
有没有更好的方法来做到这一点?
@Override
public void onBindViewHolder(@NonNull ProductAdapter.OurViewHolder viewHolder, int i) {
Products currentItem = adapterData.get(i);
viewHolder.productNamesFragmentItemsBinding.setProductName(currentItem);
if (currentItem.getPhotoUris() != null) {
Picasso.get().load(currentItem.getPhotoUris().get(0)).into(viewHolder.productNamesFragmentItemsBinding.ivProductImage);
// now i want to search if current item is present in cart (cart is in viewModel), if item
// is present in cart then disable "Add to Cart" button for current position
//--------------todo : how to do it ??? -----------------------------------
}
}
【问题讨论】:
-
附上您尝试过的代码。
-
我没有写完整的代码但我已经更新了,请查看