首页 > 解决方案 > 在回收器中切换 AddToCart textview 的可见性会产生奇怪的行为

问题描述

如果我点击第 1 项的Add To Cart,第8 项 Add To Cart会自动被选中(它唯一的渲染问题,后端代码/逻辑工作正常)。同样,如果我单击第 2 项 Add To Card,第9项将自动被选中,并且它在整个列表中都遵循此行为。如果我在列表中总共有 7 个项目,那么它工作正常。在超过7 个项目上,它必须在项目变得可见时重新加载,因为它的Recyclerview属性。重新加载导致问题。onBindViewHolder 中负责此操作的代码。

if(quantity.equals("0")||quantity.equals("-1")) {
    viewHolder.textView.setVisibility(View.VISIBLE);
    viewHolder.linearLayout.setVisibility(View.GONE);
} else {
    viewHolder.textView.setVisibility(View.GONE);
    viewHolder.linearLayout.setVisibility(View.VISIBLE);
    viewHolder.digit.setText(quantity);
}

大约一个月,我没有找到任何解决此错误的方法。请帮助如果您以前从事过类似的项目。 图片

标签: javaandroidandroid-recyclerviewe-commerce

解决方案


只需执行此操作即可解决问题:

if(quantity.equals("0")||quantity.equals("-1")) {
    viewHolder.textView.setVisibility(View.VISIBLE);
    viewHolder.linearLayout.setVisibility(View.GONE);
    viewHolder.digit.setText("0");
} else {
    viewHolder.textView.setVisibility(View.GONE);
    viewHolder.linearLayout.setVisibility(View.VISIBLE);
    viewHolder.digit.setText(quantity);
}

使用RecyclerView.


推荐阅读