java - 在回收器中切换 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);
}
大约一个月,我没有找到任何解决此错误的方法。请帮助如果您以前从事过类似的项目。 图片
解决方案
只需执行此操作即可解决问题:
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
.
推荐阅读
- symfony - 覆盖 Sylius 状态机
- r - 转换为长格式数据
- ios - 应用程序接收信号 SIGSEGV
- r - 带有其他刻度的第二个 y 轴
- python - ImportError:Windows 8.1 中没有名为 openface 的模块
- linux - 拥有 Linux 有什么好处。和..作为硬链接而不是软链接?
- parallel-processing - 使用 cuda 并行执行乘法和加法
- android - 如何使用 socket.io 发送 multipart/form-data?
- parameters - Power BI 中以 0 开头的整数作为参数
- deep-learning - 在pytorch中,如何使用F.cross_entropy()中的权重参数?