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

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

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

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

11.09.2016, 22:10. Просмотров 993. Ответов 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
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
22.09.2016, 00:32  [ТС] #46
OlegJV, ну там того кода. Вот а потом все и пишут про юбилей.
0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
23.09.2016, 18:52  [ТС] #47
Всё, разобрался я с этими долбаными адаптерами. Как складывать числа со всего списка и как удалять определённую строку, при этом чтоб из общего результата вычитался результат выбраной строки. Пришлось делать через кастомный адаптер. Если бы кто-то привел пример, конечно быстрее разобрасля бы. А тут только считают дни за сколько ты разберёшься, да юбилеи отмечают. При этом, то отправляют с нуля учить программирование, то в Гугл, то про яйца со сковородками рассказывают. Просто супер учителя. Выложу свой пример кода, так как с числами не мог найти примера. Код может и не совсем правильный, но работает.

MainActivity.java
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
public class MainActivity extends Activity {
 
    ArrayList<Mylist> pr = new ArrayList<Mylist>();
    MyAdapter myAdapter;
    TextView tvResult;
    float summa = 0;
    private static final int delete = 1;
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        tvResult = (TextView) findViewById(R.id.sum);
 
        myAdapter = new MyAdapter(this, pr);
        for (float i = 1; i < pr.size(); i++) {
        }
 
        ListView lvMain = (ListView) findViewById(R.id.lvMain);
        lvMain.setAdapter(myAdapter);
        registerForContextMenu(lvMain);
 
    }
 
    public void showResult(View v) {
        Intent intent = new Intent(this, Main2Activity.class);
        startActivityForResult(intent, 1);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (data == null) {
            return;
        }
        String name = data.getStringExtra("name");
        String name2 = data.getStringExtra("name2");
        float n1 = 0;
        float n2 = 0;
        float res = 0;
        n1 = Float.parseFloat(name);
        n2 = Float.parseFloat(name2);
        res = n1 * n2;
        summa += res;
        pr.add(new Mylist("Text ", res, R.mipmap.ic_launcher));
        myAdapter.notifyDataSetChanged();
        tvResult.setText("Итог " + summa + " м");
 
    }
 
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
                                    ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, delete, 0, "Удалить");
    }
 
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId() == delete) {
            AdapterView.AdapterContextMenuInfo acmi = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
            Mylist result = (Mylist) myAdapter.getItem(acmi.position);
            summa -= result.price;
            pr.remove(acmi.position);
            myAdapter.notifyDataSetChanged();
            tvResult.setText("Итог " + summa + " м");
            return true;
        }
        return super.onContextItemSelected(item);
    }
 
}
MyAdapter.java
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
public class MyAdapter extends BaseAdapter {
    Context ctx;
    LayoutInflater lInflater;
    ArrayList<Mylist> objects;
 
    MyAdapter(Context context, ArrayList<Mylist> obj) {
        ctx = context;
        objects = obj;
        lInflater = (LayoutInflater) ctx
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
 
    @Override
    public int getCount() {
        return objects.size();
    }
 
    @Override
    public Object getItem(int position) {
        return objects.get(position);
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = convertView;
        if (view == null) {
            view = lInflater.inflate(R.layout.item, parent, false);
        }
 
        Mylist p = getMylist(position);
 
        ((TextView) view.findViewById(R.id.tvName)).setText(p.name);
        ((TextView) view.findViewById(R.id.tvPrice)).setText(p.price + "");
        ((ImageView) view.findViewById(R.id.ivImage)).setImageResource(p.image);
 
        return view;
    }
 
    Mylist getMylist(int position) {
        return ((Mylist) getItem(position));
    }
}
Mylist.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Mylist {
 
    String name;
    float price;
    int image;
 
 
    Mylist(String _name, float _price, int _image) {
        name = _name;
        price = _price;
        image = _image;
    }
}
0
Pablito
23.09.2016, 19:01
  #48

Не по теме:

просто надо понимать что тут (да и вообще в мире) тебе никто ничем не обязан...и тем более тебя никто не обязан учить
тут не за бабки люди сидят и помогают, у каждого свои мотивы

что бы ты там себе не думал - проблема в тебе, а не в "помогающих"
пошла вторая страница обсуждения, а ты даже сформулировать задачу не смог так, что бы ее поняли другие люди
так что не надо тут пенять на других

0
naven
23.09.2016, 19:31  [ТС]
  #49

Не по теме:

Цитата Сообщение от Паблито Посмотреть сообщение
никто ничем не обязан
Никто и не спорит. Просто если не хочешь или не можешь помочь, зачем фигню всякую писать.
Цитата Сообщение от Паблито Посмотреть сообщение
ты даже сформулировать задачу не смог так, что бы ее поняли другие люди
ты первый пост читал? Что там не понятного? Есть ListView с числами, надо вывести общий результат. Что тут не понятно?
Цитата Сообщение от Паблито Посмотреть сообщение
пошла вторая страница обсуждения
Вот именно, если бы советы тупые не давали, то двумя-тремя постами можно обойтись.

0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
23.09.2016, 19:38 #50
naven, молодец почти. Объясни только мне, грубияну, с какой радости ты в каждом элементе массива хранишь одну и ту же ссылку на картинку R.mipmap.ic_launcher? Или у тебя память безразмерная? Я об этом уже писал, причем прямым текстом, без яиц и сковородок. Даю бесплатный совет - вставь эту картинку в разметку R.layout.item и будет тебе счастье.
0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
23.09.2016, 19:44  [ТС] #51
OlegJV, в смысле в layout файл item.xml ?
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
23.09.2016, 19:58 #52
Естественно
0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
23.09.2016, 20:05  [ТС] #53
OlegJV, ну он там и есть.
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
24.09.2016, 02:24 #54
Да, тяжёлый случай
0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
25.09.2016, 02:04  [ТС] #55
Цитата Сообщение от OlegJV Посмотреть сообщение
Да, тяжёлый случай
Извиняюсь, ступил.
Цитата Сообщение от OlegJV Посмотреть сообщение
с какой радости ты в каждом элементе массива хранишь одну и ту же ссылку на картинку R.mipmap.ic_launcher?
Спасибо, за подсказку. Действительно глупо.
0
fraley
25.09.2016, 09:15
  #56

Не по теме:

Неужели по прошествии двух недель проблема до сих пор не решена?

0
naven
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
25.09.2016, 10:31  [ТС] #57
fraley, всё уже решено.
0
25.09.2016, 10:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2016, 10:31
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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