У меня есть список номеров, используя "частный ArrayList > список "и я хочу их подвести - PullRequest
0 голосов
/ 22 января 2020
private ArrayList<HashMap<String, String>> list;
public static final String FIRST_COLUMN="Brand";
public static final String SECOND_COLUMN="Model";
public static final String THIRD_COLUMN="Total";

public void addDeleteItemList() {

    list=new ArrayList<HashMap<String,String>>();
    final ListViewAdapter adapter0=new ListViewAdapter(this,list);
    listView.setAdapter(adapter0);

    txtInput = findViewById(R.id.cantitateID);
    txtInput2 = findViewById(R.id.specieID);
    txtInput3 = findViewById(R.id.sortimentID);
    Button but = findViewById(R.id.addID);
    but.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            HashMap<String,String> hashmap=new HashMap<String, String>();

            String  newItem = txtInput2.getSelectedItem().toString();
            String  newItem2 = txtInput3.getSelectedItem().toString();
            String  newItem3 = txtInput.getText().toString();

            hashmap.put(FIRST_COLUMN, newItem);
            hashmap.put(SECOND_COLUMN, newItem2);
            hashmap.put(THIRD_COLUMN, newItem3);
            list.add(hashmap);
            adapter0.notifyDataSetChanged();
            int sum = 0;
            for (int i=0; i<list.size();i++){
                sum+= list.get(i);
            }
            et_volumTotal.setText(String.valueOf(sum));

        }
    });
}

ошибка: неверные типы операндов для двоичного оператора '+' первый тип: int второй тип: HashMap

enter image description here

1 Ответ

1 голос
/ 22 января 2020

Сначала вы должны получить THIRD_COLUMN из HashMap, а затем преобразовать его в int. После этого вы можете подвести итог. Проверьте ниже:

int sum = 0;
for (int i=0; i<list.size();i++) { 

    int value = 0;
    try {
        value = Integer.parseInt(list.get(i).get(THIRD_COLUMN));
    } catch(Exception ex) {
        ex.printStackTrace();
    }

    sum += value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...