滚动时更改RecyclerView中单击项目的位置

时间:2015-07-29 11:27:08

标签: android adapter android-recyclerview

点击按钮,当我滚动视图时,它会改变  点击按钮的位置。在每个卷轴上它显示不同  位置。

IValidatableObject

点击 var Distance = response.routes[0].legs[0].distance.text; alert(Distance); ,当我滚动视图时,它会更改该点击按钮的位置。在每个卷轴上它显示不同 位置。我应该在哪里点击我的点击逻辑或每次刷新适配器?

1 个答案:

答案 0 :(得分:0)

ProductDetail模态类中添加成员boolean isButtonClicked;并添加其getter和setter。然后在onBindViewHolder方法中进行以下更改:

@Override
public void onBindViewHolder(final ProductViewHolder vHolder, int pos) {

  final ProductDetail productDetail = productList.get(pos);

  vHolder.txt_prod_name.setText(productDetail.getProduct_desc());

  if(productDetail.isButtonClicked()){
  vHolder.lyt_prod_qty.setVisibility(View.VISIBLE);
          vHolder.btn_add.setVisibility(View.GONE);
  } else {
   vHolder.lyt_prod_qty.setVisibility(View.GONE);
          vHolder.btn_add.setVisibility(View.VISIBLE);
  }

  vHolder.btn_add.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
          vHolder.lyt_prod_qty.setVisibility(View.VISIBLE);
          vHolder.btn_add.setVisibility(View.GONE);
          productDetail.setIsButtonClicked(true);
      }
  });
}