Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
#1

Сложить числа из ListView - Программирование Android

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

Есть список (ListView). С помощью SimpleAdapter формируется этот список, добавляются и удаляются записи. Записи состоят из чисел. Как мне сложить эти числа, чтоб общий результат выводился?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2016, 22:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сложить числа из ListView (Программирование Android):

ListView. После добавления кнопки перестал быть доступен сам ListView - Программирование Android
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам список стал недоступен для клика, а...

Listview вывод данных и переход по нажатию на другой Listview SQLite - Программирование Android
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с пытаюсь написать программу где первый экран...

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

Копирование данных из 1 listView во 2 listView - Программирование Android
Нужно что бы при нажатии на один элемент в первом ListView он копировался во второй ListView причём многократно.Но я использую...

Использование ListView в ListView - Программирование Android
Всем привет. Можете показать как использовать ListView в ListView, с заполнением как внешнего ListView, так и внутреннего причем с...

56
ExFau$t
357 / 343 / 66
Регистрация: 08.05.2012
Сообщений: 1,738
11.09.2016, 22:27 #2
Ну пройди по своему списку и сложи, используя оператор "+".
0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
11.09.2016, 22:34  [ТС] #3
Цитата Сообщение от ExFau$t Посмотреть сообщение
Ну пройди по своему списку и сложи, используя оператор "+".
Можно отсюда поподробнее?
0
ExFau$t
357 / 343 / 66
Регистрация: 08.05.2012
Сообщений: 1,738
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
naven
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
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
12.09.2016, 02:29 #6
Так записи все-таки состоят из чисел или Map<String, Object>?
0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
12.09.2016, 07:54  [ТС] #7
Из map, но через putExtra передаются числа. Это я пример с интернета привел, свой на компе, а комп далеко.
0
ExFau$t
357 / 343 / 66
Регистрация: 08.05.2012
Сообщений: 1,738
12.09.2016, 10:09 #8
naven, напишешь ArrayList<Integer> или HashMap<Integer, Object>, неужели это так сложно?
0
naven
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
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
13.09.2016, 14:26 #10
А если подумать, чему равно data.get(i)? Это что, число?
0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
13.09.2016, 15:08  [ТС] #11
Цитата Сообщение от OlegJV Посмотреть сообщение
А если подумать, чему равно data.get(i)? Это что, число?
Ну и?
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
13.09.2016, 15:47 #12
Да что ну и. Не число же это нифига, неужто непонятно.
0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
13.09.2016, 16:01  [ТС] #13
Цитата Сообщение от OlegJV Посмотреть сообщение
неужто непонятно
Я имел ввиду какие варианты? Как мне сложить все числа?
Они приходят через putExtra умножаются и добавляются в отдельную строку, а как мне получить общий результат всех строк.
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
13.09.2016, 16:29 #14
Java
1
getString(R.string.name1) + " " + result + " м"
вот эта конструкция зачем вообще?
0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
13.09.2016, 16:33  [ТС] #15
Цитата Сообщение от OlegJV Посмотреть сообщение
вот эта конструкция зачем вообще?
Выводит результат на экран.
getString(R.string.name1 - это текст из string.xml
0
13.09.2016, 16:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2016, 16:33
Привет! Вот еще темы с ответами:

Переход из Listview в Listview - Программирование Android
Как сделать, что бы когда нажимаешь в главном листвью на кнопку, открывалось новое нужное(т.е. то по которому тапнули) активити с другим...

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru