На самом деле, вы сделали это в своем коде, но с простой ошибкой.
MainActivity.java в слушателе кнопки
int total = 0;
for (int i = 0; i<personUtilsList.size(); i++)
{
total += personUtilsList.get(i).getPersonName();
}
total = Integer.parseInt(editText.getText().toString());
Проблема в том, что вы установили новыйзначение для переменной total
, но оно должно быть +=
вместо =
, и ваш код будет работать так, как вы пожелаете, InChaa'Allah.
Но у меня есть некоторые уведомления о вашем способе кодирования.
Во-первых, эти строки плохо писать так:
layoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(layoutManager);
personUtilsList.add(new PersonUtils(total));
mAdapter = new CustomRecyclerAdapter(MainActivity.this, personUtilsList);
recyclerView.setAdapter(mAdapter);
Он снова выполнит весь жизненный цикл Activity и будет тратить много ресурсов процессора.
Так что высделайте это следующим образом.
((CustomRecyclerAdapter) mAdapter).addPersonUtils(new PersonUtils(total));
mAdapter.notifyDataSetChanged();//will make the RecyclerView adapter to reload its data.
И в классе CustomRecyclerAdapter.java я добавил новый метод для добавления нового элемента в personUtils ArrayList.
public void addPersonUtils(PersonUtils personUtil){
personUtils.add(personUtil);
}
Код будетлучше так.