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

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

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

Timer в ListView - Программирование Android

10.08.2013, 00:52. Просмотров 717. Ответов 4
Метки нет (Все метки)

Добрый вечер! Поставлена задача: нужно создать ListView в элементах которого тикало время от даты создания объекта. Я пошел по самому короткому и казалось бы единственному пути. Сделать ListView, запустил таймер который будет каждую секунду обновлять значения для адаптера ( adapter.notifyDataSetChanged(); ) Естественно, ListView стал дрожать при прокрутке. Решено было при начале прокрутки убивать таймер, а при остановке прокрутки создавать заново

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            switch (scrollState) {
            case SCROLL_STATE_TOUCH_SCROLL:
                timer.cancel();
                break;
 
            case SCROLL_STATE_IDLE:
                timer = new Timer();
                                timer.schedule(new TimeUpdater(), 1000, 1000);
            
            }
            
        }
На VirtualBox работало нормально, а вот на устройстве лютые тормоза(не успевает срабатывать код создания нового таймера при прокрутке).
Можно ли как то заставить таймер преостановиться а потом запуститься, не на несколько секунд а по команде.
P.S. Я знаю что обновления таймера кажую секунду это дебильная идея, но таков каприз в ТЗ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2013, 00:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Timer в 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 причём многократно.Но я использую...

Timer - Программирование Android
Я пишу приложение.Сначала для красоты показывается прогресс бар.Потом через 3сек меняется сообщение.но меняется только без таймера.а с...

4
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.08.2013, 01:24 #2
создать кастомною View для отображения таймера которая будет обновлять сама себя вместо обновления списка не пробовали?
0
dell29
1 / 1 / 0
Регистрация: 06.08.2012
Сообщений: 32
10.08.2013, 01:38  [ТС] #3
Пробовал, таймер во всех вюхах, обновлял только видимые, все равно тормозит(((
Может кривые руки и что то не так писал?
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
10.08.2013, 12:55 #4
Не уверен, но...
Может попробуете сделать (желательно потоко-незавимую) переменную, глядя на которую таймеры будут обновлять список. А приостанавливать/запускать таймеры просто переключая эту переменную в 1/0 или true/false. Это надежнее. В таймерах при этом реально ничего не пересоздается... Классы не тронуты, мусорщик не задействован...
1
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.08.2013, 14:02 #5
можно использовать View.postDelayed вместо таймера.
0
10.08.2013, 14:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2013, 14:02
Привет! Вот еще темы с ответами:

Timer и AppWidgetProvider - Программирование Android
С Новым Годом, господа! Успехов всем в Новом Году! А мой вопрос такой: как остановить таймер в виджете... код в архиве...

Timer и TimerTask - Программирование Android
Пишу программу для андроида в eclipse. Столкнулся с такой проблемой: нужно чтобы после нажатия на картинку она через секунду сменилась на...

Timer \ Intent - Программирование Android
Доброй ночи. При запуске StartActivity через 3 сек должно открыться MainActivity, оно то работает , но только один раз при перезапуске...

CheckBox и Timer - Программирование Android
Здравствуйте. Я только недавно начала изучать программирование. Помогите пожалуйста. Есть CheckBox1 и CheckBox2. Есть editText1 в...


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

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

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