Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail



Ответ
 
Опции темы
Старый 23.10.2016, 03:47   #1
sergei0194
Новичок
 
Регистрация: 22.10.2016
Адрес: Казахстан, ул. Пыльная, дом Не видно :)
Сообщений: 17
Репутация: 20
Сообщение Добавление данных в текущий ArrayList

Всем привет ещё раз Пользуясь случаем, хотел бы не надолго поднять свой предыдущий топик http://www.programmersforum.ru/showthread.php?t=298685 . В том случае, когда я нажимаю кнопку GO,
сообщение, отображается только когда данные в адаптере изменились. Подскажите несколько путей реализации добавления сообщения через форму и показ его в реальном времени. Т.е., нажал на кнопку GO, и сообщение сразу же отобразилось. С HashMap'ом такое когда то реализовывал по типу:

Код:

            map = new HashMap<String, Object>();
            map.put(MSG, message);
            map.put(USID_MSG, id_message);
            data.add(map);
            sAdapter.notifyDataSetChanged();
            sList.setSelection(sAdapter.getCount() - 1);
            editText.setText("");

sergei0194 вне форума   Ответить с цитированием
Старый 23.10.2016, 05:36   #2
New man
Участник клуба
 
Регистрация: 24.01.2011
Сообщений: 538
Репутация: 241
По умолчанию

Я делал такое через жопу с RecyclerView.

У меня был Adapter, внутри него два списка. В одном объекты типа "отправляемое сообщение", во втором "сообщение". Adapter.getItemCount() возвращал сумму длин обоих списков. Соответственно, когда нам надо было рисовать, я определял, к какому списку относится индекс и запускал разный код.

При отправлении сообщения, данные сразу добавлялись в неотправленные, а при успешной отправке, в callback я удалял "неотправленное сообщение" и добавлял "отправленное".

Сам проект загнулся из-за Callback Hell и отсутствия у меня представления об модели памяти Android.
New man вне форума   Ответить с цитированием
Старый 23.10.2016, 13:07   #3
sergei0194
Новичок
 
Регистрация: 22.10.2016
Адрес: Казахстан, ул. Пыльная, дом Не видно :)
Сообщений: 17
Репутация: 20
По умолчанию

Значит через жопу делать не будем Я так понимаю что всё-таки возможно добавить сообщение в текущий ArrayList. Самое главное, это добавить сообщение А остальную логику продумать я думаю что не составит проблем) Буду пытаться, как только что-нибудь получится, я отпишусь
sergei0194 вне форума   Ответить с цитированием
Старый 23.10.2016, 20:52   #4
sergei0194
Новичок
 
Регистрация: 22.10.2016
Адрес: Казахстан, ул. Пыльная, дом Не видно :)
Сообщений: 17
Репутация: 20
По умолчанию

Вопрос свой решил. В своей активности, я создал ссылку на
Код:

ArrayList<ResponseMsgArray> data;

Затем, создал в адаптере дополнительный метод addData() :
Код:

public void addData(ResponseMsgArray sendMsg) {
        addAll(sendMsg);
        notifyDataSetChanged();
    }

Ну и кнопочка:
Код:

public void sendMsg(View v) {

        editText = (EditText) findViewById(R.id.form_input);
        String form_input_msg = editText.getText().toString();

        if (!form_input_msg.equals("")) { 

            data = new ArrayList<>();
            ResponseMsgArray rms = new ResponseMsgArray(); 
            rms.setMsg(form_input_msg);
            rms.setMsg_id_us("4");
            sAdapter.addData(rms); // добавили данные, и обновили их

            GetMsg getMsg = new GetMsg();
            getMsg.SendMsg(getApplicationContext(), GET_ID, form_input_msg);
        }
    }

Осталось удалить дубликат сообщения после обновления, ну думаю что тут проблем точно никаких не составит Уважаемый New man, вот вам и выход из жопы Всем спасибо)
sergei0194 вне форума   Ответить с цитированием
Старый 23.10.2016, 20:55   #5
sergei0194
Новичок
 
Регистрация: 22.10.2016
Адрес: Казахстан, ул. Пыльная, дом Не видно :)
Сообщений: 17
Репутация: 20
По умолчанию

Кстати, если сделать вот так:
Код:

sAdapter.add(rms);

без использования метода addData(), данные в адаптере тоже появляются мгновенно. Хотя я не говорю адаптеру, что ему пора бы обновится...т.е. без notifyDataSetChanged();
sergei0194 вне форума   Ответить с цитированием
Старый 23.10.2016, 23:07   #6
pompiduskus
юзер как все
Профессионал
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Адрес: земля
Сообщений: 1,290
Репутация: 522

icq: 446.452.423
По умолчанию

Главное что решилась проблемма =) Хоть и не всегда решение красиво выглядит.
__________________
<Дзен - Вся вселенная в тебе > | <Рай - это всего лишь мечта терпящего страдания ада> | github.com/ch3ll0v3k

Последний раз редактировалось pompiduskus; 23.10.2016 в 23:10.
pompiduskus вне форума   Ответить с цитированием
Старый 27.10.2016, 09:11   #7
phomm
personality
Профессионал
 
Аватар для phomm
 
Регистрация: 28.04.2009
Адрес: Тюмень
Сообщений: 2,845
Репутация: 1478

icq: 421049471
skype: phomm-
По умолчанию

Цитата:
Сообщение от New man Посмотреть сообщение
отсутствия у меня представления об модели памяти Android.
Чем-то решали (статьи, книги) ?
Извините, граждане, что оффтоп, но, думаю, посетителям раздела может быть полезно.
phomm вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
добавление данных в бд Дюша БД в Delphi 6 22.06.2014 22:30
Добавление данных в БД vongola Помощь студентам 3 23.03.2012 09:33
база данных. добавление и удаление данных midiss Общие вопросы Delphi 3 09.12.2011 13:07
добавление данных в бд wulf_01 Помощь студентам 1 18.10.2011 14:56
добавление данных sveta_s БД в Delphi 4 28.05.2011 01:48




12:03.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru