gpt4 book ai didi

Android- ListView 中的相邻按钮自动点击

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:41:55 25 4
gpt4 key购买 nike

我正在开发一个填充购物车的模块。我使用 ListView 并扩展了 BaseAdapter 来填充购物车项目。对于 ListView 中的每个项目,我嵌入了两个按钮(inc 和 dec)来增加和减少购物车中项目的数量。

ListView 已正确更新,但快速点击/点击时的递增/递减按钮显示出突然的行为。

每当我快速点击任何 inc 或 dec 按钮时,ListView 中当前项目旁边的项目的相应 inc 或 dec 按钮会自动点击(连同当前项目 btn)。

换句话说,每当我快速点击 ListView 中第 i 个项目的 inc btn 时,ListView 中第 i+1 个项目的 inc btn 会自动被点击(连同 inc第 i 项的 btn)。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item_cart, parent, false);
holder = new ViewHolder();
holder.baseItem = (TextView) convertView.findViewById(R.id.qnt_tv);
holder.qntInc = (TextView) convertView.findViewById(R.id.inc_btn);
holder.qntDec = (TextView) convertView.findViewById(R.id.dec_btn);

convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

final CartModel cm = mCart.get(position);
holder.baseItem.setText(cm.getmTitle());
holder.qntSel.setText(String.valueOf(cm.getmQnt()));
holder.qntInc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (qntSpinnerCb != null)
qntSpinnerCb.changeQuantityOfSelectedItemInCart(cm.getmIid(), INCREASE_QNT);
}
});
holder.qntDec.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (qntSpinnerCb != null) {
qntSpinnerCb.changeQuantityOfSelectedItemInCart(cm.getmIid(), DECREASE_QNT);
}
}
});

return convertView;
}

回调接口(interface)

public interface CartQntSpinnerListenerCallBack {
void changeQuantityOfSelectedItemInCart(String iId, char changeType);
}

尝试调试,无法弄清楚这种奇怪的行为。

最佳答案

你没有在 onClick 中选择正确的 CartModel,如果你想在 onclick 中获得正确的对象,那么你必须将位置标记为按钮

holder.qntInc.setTag(position);

在点击时:

@Override
public void onClick(View view) {
if (qntSpinnerCb != null) {
CartModel cm= mCart.get((Integer)view.getTag);
qntSpinnerCb.changeQuantityOfSelectedItemInCart(cm.getmIid(), INCREASE_QNT);
}
}

qntDec 进行同样的操作。

关于Android- ListView 中的相邻按钮自动点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31169131/

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