Как обновить (всего в корзине), если onSwiped удалил элемент корзины? - PullRequest
0 голосов
/ 23 мая 2019

Я создал корзину с продуктом и количеством в хэш-карте.Если конкретный элемент удаляется из корзины с помощью функции onSwiped, как мне обновить хэш-карту?Как передать хэш-карту в ItemTouchHelper, чтобы я мог определить значение ключа, связанное с перевернутым (удаленным) viewHolder (позиция адаптера)?

В настоящий момент изменения количеств или новых элементов обновляются в хэш-карте,Я передаю этот hashmap в функцию mapToArray, указанную для обновления итоговой суммы.Итак, я хочу проанализировать хэш-карту, найти удаленный элемент, установить его соответствующее количество на ноль, а затем отправить его в mapToArray.

private int mapToArray(HashMap selectionItemsHashMap) {
        selectionItemArrayList = null;
        selectionItemArrayList = new ArrayList<>();
        String selectionPrice = null;
        int amountTotal = 0;
        for (Object name: selectionItemsHashMap.keySet()){
            String key = (String) name;
            for (int j =0; j < menuItemArrayList.size(); j++ ) {
                String findName = menuItemArrayList.get(j).getMenuItemName();
                if (key.equals(findName)) {
                    selectionPrice = menuItemArrayList.get(j).getMenuItemPrice();
                }
            }
            int value = (int) selectionItemsHashMap.get(name);
            amountTotal += Integer.parseInt(selectionPrice)*value;
            String stringAmountTotal = Integer.toString(amountTotal);
            tvTotalAmount.setText(stringAmountTotal);
            SelectionItem selectionItem = new SelectionItem( key, value, selectionPrice);
            selectionItemArrayList.add(selectionItem);
        }
        return amountTotal;
    }
...