Я работаю над модулем, который заполняет корзину. Я использовал ListView
и расширенный BaseAdapter
для заполнения элементов корзины.
С каждым элементом в ListView
я вложил две кнопки (вкл. И dec) для увеличения и уменьшения количества элементов в корзине.
ListView
правильно обновляется, но кнопка увеличения/уменьшения при быстром нажатии/нажатии показывает резкое поведение.
Всякий раз, когда я быстро нажимаю любую кнопку inc или dec, автоматически включается соответствующая кнопка inc или dec элемента рядом с текущим элементом в ListView
(вместе с текущим пунктом btn).
Другими словами, всякий раз, когда я быстро нажимаю inc btn i-го элемента в ListView
, автоматически включается inc btn я + 1-го элемента в ListView
(вместе с inc btn i-го элемента).
@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;
}
Интерфейс для обратного вызова
public interface CartQntSpinnerListenerCallBack {
void changeQuantityOfSelectedItemInCart(String iId, char changeType);
}
Пробовал отлаживать, не в состоянии понять это странное поведение.