Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Striker
SausageFlat
240 / 219 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
1

Не прокручивать ListView при добавлении в него данных

29.08.2014, 16:32. Просмотров 1107. Ответов 1

Добрый день!

Подскажите пожалуйста.
Делаю программу. В ней есть функционал на подобии чата. Т.е. новые сообщения снизу, старые сверху. Всё это показывает ListView.
Когда происходит вызов метода обновления чата, чат перелистывается в конец. Получается, если кто-то написал, а другой в этот момент смотрел старые сообщения, то его чат прокрутится вниз.
Как можно реализовать сохранение позиции просмотра ListView и после фонового обновления данного ListView остаться в том же месте, при этом где-то внизу добавиться сообщение.

Я использовал это:

setSelection, getFirstVisiblePosition и getLastVisiblePosition - но меня не устроило. Потому что он перескакивает на сообщение, а не позицию прокрутки(или как ещё её назвать)

Вроде бы понятно объяснил)

Заранее большое спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2014, 16:32
Ответы с готовыми решениями:

Как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка?
Здравствуйте, подскажите, пожалуйста, как изменить цвет пункта ListView при нажатии на него и...

Пропадает изображение в richTextBox при добавлении в него новых данных
Добрый вечер. Идея проекта - чат со смайликами. Проблема в следующем: при добавлении изображения в...

Binding к ListView при добавлении информации
Всем добрый вечер! Пытаюсь сделать bindig к listview при добавлении объектов на форме. Сделал...

Дублирование столбцов в listview при добавлении строчки
У меня сейчас лопнет голова!!! Помогите пожалуйста! Как сохранить listview в xml я нашла, успешно...

C++ Win32 api ListView при добавлении строки
Добрый день! Подскажите в чем проблема. При заполнении ListView получается смещение записей....

1
UserAK
73 / 73 / 13
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
30.08.2014, 00:17 2
Первое, что приходит в голову, это кэшировать сам чат. Отделить массив сообщений от визуального представления и выдавать массив сообщений по запросу.

Добавлено через 1 минуту
Хотя это скорее всего меняет логику программы, как-бы разрывает связь между массивом сообщений и адаптером списка.

Добавлено через 2 минуты
Но с другой стороны - адаптер это "быстрый" вариант визуализации списка. Можно и обойтись без адаптера, может быть потери в производительности особой не будет.

Добавлено через 3 минуты
Ну или вы наследуете и дописываете адаптер таким образом, что бы он там как-то не сразу, а по флагу обновлял список.

Добавлено через 30 секунд
В конце концов это вы программист, а не я ))
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2014, 00:17

Не отображает элементы ListView-а при добавлении туда файлов
Здравствуйте! Я создал две формы. В обоих есть ListView. Первая из них - главная - должна...

Непонятная ошибка (разрушительный сбой) при добавлении в ListView
хочу изменить содержание элемента по индексу в listview но выводит ошибку wtf?? изза чего это???

Подергивание ListView в режиме VirtualMode при добавлении элемента
Здравствуйте. Для начала стоит заметить, что более забагованного контрола в винформах встречать...


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

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

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