Я делаю приложение (шагомер) в Android-студии, где я хочу перечислить данные, которые я беру из базы данных реального времени в firebase, в Listview в моем приложении. Из-за связывания дат с шагами на каждый день у меня остается настройка, которая дает «Дата: шаги». Что мне нужно сделать, чтобы собрать все шаги каждого дня в промежуточный итог, в котором перечислены только общие шаги без даты?
Это страница списка лидеров, которую я создаю, где я хочу организовать всех пользователей от самых высоких шагов (пройденных по всем датам, начиная с даты регистрации) до самых низких. Я попытался создать цикл for, в котором я вызываю пользователя и выполнял шаги, но шаги все еще связаны с датой.
Я пытался посмотреть на другие подобные вопросы, например: Как эффективно выполнять итерации по каждой записи на Java-карте?
Но я все еще не могу понять это.
Код, о котором идет речь:
myRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, String s) {
Map<String, Map> map = (Map<String, Map>) dataSnapshot.getValue();
int i = 0;
for (Map.Entry<String, Map> pair : map.entrySet()) {
Map steps = map.get("steps");
arrayList.add(" " + map.get("username") + " " + steps);
arrayAdapter = new ArrayAdapter<>(Leaderboard.this , android.R.layout.simple_list_item_1 , arrayList);
}
listView.setAdapter(arrayAdapter);
}
Я хочу получить вывод:
Name 200
с числом «200» - общим количеством шагов, пройденных за все даты.
Вывод, который я получаю в данный момент:
Name {Date=37,Date=40,Date=12,Date=67,Date=44}
Name {Date=37,Date=40,Date=12,Date=67,Date=44}
Name {Date=37,Date=40,Date=12,Date=67,Date=44}
Что мне нужно сделать, чтобы удалить даты и перечислить только значения (шаги) в качестве промежуточной суммы всех шагов, пройденных по указанным датам (для пользователя)?