gpt4 book ai didi

java - 当 recycleview 滚动父 Activity 按钮去禁用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:44:13 25 4
gpt4 key购买 nike

<分区>

我有一个 RecyclerView 网格适配器在父 Activity 中包含复选框和一个显示按钮。如果我们选择复选框父 Activity 显示按钮以启用,如果我们取消选中复选框显示按钮将禁用,这是我的要求,它工作正常,但是当我滚动回收 View 时,我的显示按钮将被禁用。当我滚动时,我得到 item.isChecked() is false..任何人都可以帮助我实现我的要求,请解释

 @Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {

try {
final GridViewHolder viewHolder = (GridViewHolder) holder;

final MyList item = items.get(position);

viewHolder.myCheckBox.setTag(position);
viewHolder.myCheckBox.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton,
boolean b) {

item.setChecked(b);

if (item.isChecked())
Count++;
else
Count--;

if (Count > 0) {

((MyActivity)context).showButton().setEnabled(true);

} else {
((MyActivity)context).showButton().setEnabled(false);
}


}
});

viewHolder.myCheckBox.setChecked(item.isChecked());


} catch (Exception e) {
e.printStackTrace();
}
}

在我的 pojo 列表类中,我为标识复选框返回值编写了两个函数

  boolean isChecked;
public boolean isChecked() {
return isChecked;
}

public void setChecked(boolean isChecked) {
this.isChecked = isChecked;
}

适配器中的 ViewHolder 内部类

   public class GridViewHolder extends RecyclerView.ViewHolder {


private CheckBox myCheckBox;


public GridViewHolder(final View parent) {
super(parent);

myCheckBox = (CheckBox) parent.findViewById(myCheckBox);

((ProductListingActivity)context).showButton().setEnabled(false);

parent.setOnClickListener(GridAdapterMy.this);
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com