Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
1

Сложить числа из ListView

11.09.2016, 22:10. Показов 1599. Ответов 56
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть список (ListView). С помощью SimpleAdapter формируется этот список, добавляются и удаляются записи. Записи состоят из чисел. Как мне сложить эти числа, чтоб общий результат выводился?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.09.2016, 22:10
Ответы с готовыми решениями:

Даны два числа: одно размером dd, другое dw. Сложить эти числа
Дана задачка на ассемблере помогите сделать, а то совсем не шарю Даны два числа одно размером -...

Сложить четные цифры десятичного числа: неправильно делятся числа
Здравствуйте. Задача следующая: нужно сложить все четные числа десятичного числа. Исходное...

Даны два длинных целых числа (256+) требуется сложить эти числа
Даны два длинных целых числа (256+ символов) требуется сложить эти числа,и подсчитать что получилось

Как сложить числа в двух половинах одного числа?
Добрый день. Подскажите, пожалуйста, как сложить числа в двух половинах данного числа? Например,...

56
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
11.09.2016, 22:27 2
Ну пройди по своему списку и сложи, используя оператор "+".
0
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
11.09.2016, 22:34  [ТС] 3
Цитата Сообщение от ExFau$t Посмотреть сообщение
Ну пройди по своему списку и сложи, используя оператор "+".
Можно отсюда поподробнее?
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
11.09.2016, 22:44 4
naven, у всех списков есть такой замечательный метод get(int), только эта информация передаётся из уст в уста, так что больше никому, я тебе по секрету сказал.
Кликните здесь для просмотра всего текста
Java
1
2
3
4
int summa=0;
for (int i=0;i<list.size();i++){
summa=summa+list.get(i);
}
0
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
12.09.2016, 01:00  [ТС] 5
Цитата Сообщение от ExFau$t Посмотреть сообщение
int summa=0;
for (int i=0;i<list.size();i++){
summa=summa+list.get(i);
}
в этом коде
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.ListView;
import android.widget.SimpleAdapter;
 
public class MainActivity extends Activity {
 
  private static final int CM_DELETE_ID = 1;
 
  final String ATTRIBUTE_NAME_TEXT = "text";
  final String ATTRIBUTE_NAME_IMAGE = "image";
 
  ListView lvSimple;
  SimpleAdapter sAdapter;
  ArrayList<Map<String, Object>> data;
  Map<String, Object> m;
 
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
 
    data = new ArrayList<Map<String, Object>>();
    for (int i = 1; i < 5; i++) {
      m = new HashMap<String, Object>();
      m.put(ATTRIBUTE_NAME_TEXT, "sometext " + i);
      m.put(ATTRIBUTE_NAME_IMAGE, R.drawable.ic_launcher);
      data.add(m);
    }
 
    String[] from = { ATTRIBUTE_NAME_TEXT, ATTRIBUTE_NAME_IMAGE };
    int[] to = { R.id.tvText, R.id.ivImg };
 
    sAdapter = new SimpleAdapter(this, data, R.layout.item, from, to);
 
    lvSimple = (ListView) findViewById(R.id.lvSimple);
    lvSimple.setAdapter(sAdapter);
    registerForContextMenu(lvSimple);
  }
 
  public void onButtonClick(View v) {
    m = new HashMap<String, Object>();
    m.put(ATTRIBUTE_NAME_TEXT, "sometext " + (data.size() + 1));
    m.put(ATTRIBUTE_NAME_IMAGE, R.drawable.ic_launcher);
    data.add(m);
    sAdapter.notifyDataSetChanged();
  }
 
  @Override
  public void onCreateContextMenu(ContextMenu menu, View v,
      ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    menu.add(0, CM_DELETE_ID, 0, "Удалить запись");
  }
 
  @Override
  public boolean onContextItemSelected(MenuItem item) {
    if (item.getItemId() == CM_DELETE_ID) {
      AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item.getMenuInfo();
      data.remove(acmi.position);
      sAdapter.notifyDataSetChanged();
      return true;
    }
    return super.onContextItemSelected(item);
  }
}
должно стоять после:
Java
1
2
3
4
5
6
7
  public void onButtonClick(View v) {
    m = new HashMap<String, Object>();
    m.put(ATTRIBUTE_NAME_TEXT, "sometext " + (data.size() + 1));
    m.put(ATTRIBUTE_NAME_IMAGE, R.drawable.ic_launcher);
    data.add(m);
    sAdapter.notifyDataSetChanged();
  }
я правильно понимаю?
Кстати на summa=summa+list.get(i); пишет, что оператор "+" не может использоваться для "int", как исправить?
0
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
12.09.2016, 02:29 6
Так записи все-таки состоят из чисел или Map<String, Object>?
0
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
12.09.2016, 07:54  [ТС] 7
Из map, но через putExtra передаются числа. Это я пример с интернета привел, свой на компе, а комп далеко.
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
12.09.2016, 10:09 8
naven, напишешь ArrayList<Integer> или HashMap<Integer, Object>, неужели это так сложно?
0
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
13.09.2016, 13:04  [ТС] 9
Цитата Сообщение от ExFau$t Посмотреть сообщение
напишешь ArrayList<Integer> или HashMap<Integer, Object>, неужели это так сложно?
Написать не сложно, только всё равно ошибку выдаёт.

Добавлено через 3 минуты
Цитата Сообщение от ExFau$t Посмотреть сообщение
HashMap<Integer, Object>
Вот так?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    public void onButtonClick(View v) {
        Intent intent = new Intent(this, Main2Activity.class);
        startActivityForResult(intent, 1);
 
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data2) {
        if (data2 == null) {
            return;
        }
        String name = data2.getStringExtra("name");
        String name2 = data2.getStringExtra("name2");
        float result = 0;
        float n1 = 0;
        float n2 = 0;
        n1 = Float.parseFloat(name);
        n2 = Float.parseFloat(name2);
        result = n1 * n2;
        // создаем новый Map
        m = new HashMap<Integer, Object>();
        m.put(ATTRIBUTE_NAME_TEXT, getString(R.string.name1) + " " + result + " м");
        m.put(ATTRIBUTE_NAME_IMAGE, R.drawable.ic_launcher);
        // добавляем его в коллекцию
        data.add(m);
        // уведомляем, что данные изменились
        sAdapter.notifyDataSetChanged();
        int summa=0;
        for (int i=0;i<data.size();i++){
            summa = summa + data.get(i);
            tvResult.setText(getString(R.string.name1) + " " + summa + " м");
        }
 
    }
0
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
13.09.2016, 14:26 10
А если подумать, чему равно data.get(i)? Это что, число?
0
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
13.09.2016, 15:08  [ТС] 11
Цитата Сообщение от OlegJV Посмотреть сообщение
А если подумать, чему равно data.get(i)? Это что, число?
Ну и?
0
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
13.09.2016, 15:47 12
Да что ну и. Не число же это нифига, неужто непонятно.
0
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
13.09.2016, 16:01  [ТС] 13
Цитата Сообщение от OlegJV Посмотреть сообщение
неужто непонятно
Я имел ввиду какие варианты? Как мне сложить все числа?
Они приходят через putExtra умножаются и добавляются в отдельную строку, а как мне получить общий результат всех строк.
0
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
13.09.2016, 16:29 14
Java
1
getString(R.string.name1) + " " + result + " м"
вот эта конструкция зачем вообще?
0
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
13.09.2016, 16:33  [ТС] 15
Цитата Сообщение от OlegJV Посмотреть сообщение
вот эта конструкция зачем вообще?
Выводит результат на экран.
getString(R.string.name1 - это текст из string.xml
0
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
13.09.2016, 16:36 16
Типа если у нас будет HashMap из 100500 элементов, в нем будет храниться 100500 одинаковых R.string.name1 и 100500 R.drawable.ic_launcher? Или я чего-то не понимаю, или твой HashMap элементарно заменяется ArrayList<Float>.
0
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
13.09.2016, 16:44  [ТС] 17
Цитата Сообщение от OlegJV Посмотреть сообщение
будет храниться 100500 одинаковых R.string.name1
Нет, Просто выводится Например Площадь result метров. где result - это выражение чисел, которые приходят через putExtra
0
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
13.09.2016, 16:53 18
Ну как нет, если да. Ты же в каждый m их суешь. Я походу сдаюсь...

Добавлено через 1 минуту
Я извиняюсь, я ArrayList<Map<String, Object>> data имел в виду из 100500 элементов
0
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
13.09.2016, 17:01  [ТС] 19
Ну так как сделать, чтоб общий результат вывести?
0
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
13.09.2016, 17:29 20
Java
1
ArrayList<Map<String, Object>> data
заменить на
Java
1
ArrayList<Float> data
Потом все как и было:
Java
1
2
3
for (int i = 0; i < data.size(); i ++){
     summa = summa + data.get(i);
}
И только потом, после цикла:
Java
1
tvResult.setText(getString(R.string.name1) + " " + summa + " м");
Добавлено через 20 минут
Только не надо в ArrayList<Float> добавлять (ATTRIBUTE_NAME_TEXT, getString(R.string.name1) + " " + result + " м"). Что-то у меня подозрения какие-то...))). Подозрительное затишье...
0
13.09.2016, 17:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2016, 17:29
Помогаю со студенческими работами здесь

"Запрашиваются 2 числа, вывести нечетные числа с их диапазона и эти числа сложить"
Здравствуйте. Не знаю как задать цикл в данной задаче: Запрашиваются 2 числа, вывести нечетные...

Tasm. Сложить два произвольных числа и проверить: полученная сумма больше или меньше третьего числа
нужна помощь: Сложить два произвольных числа и проверить: полученная сумма больше или меньше...

Сложить все целые числа от 1 до заданного числа n
Мой код возвращает все значения, в том числе 0 и отрицательные, нужно чтобы при n = 0 и...

Сложить 2 числа
Вроде бы все просто, но додуматься не могу. Прошу вашей помощи. &quot;Сложить 2 числа(макс 18 можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru