Форум программистов, компьютерный форум CyberForum.ru

Часы в TextView - Android

Войти
Регистрация
Восстановить пароль
 
NOVICHOK2012
6 / 6 / 0
Регистрация: 13.04.2012
Сообщений: 99
21.08.2014, 21:50     Часы в TextView #1
Доброго времени суток. Делаю часы в textview, время ставлю через два NumberPicker. Все работает(если число минут меньше 10, то вперед добавить 0 (09,08,07...), если минут 59, то обнулить минуты и добавить +1 к часам) кроме одного, не работает обнуление часов, после того как стало 23 часа 59 минут. Таймер сделан через AcyncTask, он срабатывает каждые 2,5 секунды.

Вот код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
    protected void onProgressUpdate(Void... values) { 
                if (Integer.parseInt((String) textminute.getText()) < 9){
           textminute.setText("0"+String.valueOf(Integer.parseInt((String) textminute.getText()) + 1));}
                else if (Integer.parseInt((String) textminute.getText())>58){
                    texthour.setText(String.valueOf(Integer.parseInt((String) texthour.getText()) + 1));
                    textminute.setText("00");
                }
                else if (Integer.parseInt((String) texthour.getText())>22&&Integer.parseInt((String) textminute.getText())>58)
                    texthour.setText("0");
                else
               textminute.setText(String.valueOf(Integer.parseInt((String) textminute.getText()) + 1));
        }
Не обращайте внимание на
Java
1
(Integer.parseInt((String) textminute.getText()) < 9)
и
Java
1
(Integer.parseInt((String) textminute.getText())>58)
, хоть число на единицу меньше, но в связи с тем, что обновляется таймер каждые 2,5 с, все работает четко. А вот обнуление после 23:59 никак не получается, минуты обнуляются, а часы становятся равными 24.
Как я только это строчку не менял:
Java
1
(Integer.parseInt((String) texthour.getText())>22&&Integer.parseInt((String) textminute.getText())>58)
Помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2014, 21:50     Часы в TextView
Посмотрите здесь:

TextView // крэш Android
Цвет TextView Android
Android TextView in ProgressBar
Вывод в TextView Android
Android Вывод в TextView
Html и TextView Android
Вывод в textView из БД Android
Android Клик по textview
Android TextView and Fragment
Android ViewPager и TextView
Android AlarmManager и TextView
EditText и TextView Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
22.08.2014, 10:23     Часы в TextView #2
А если просто
Java
1
2
3
if( texthour.getText().equals("24"){
texthour.setText("00");
}
NOVICHOK2012
6 / 6 / 0
Регистрация: 13.04.2012
Сообщений: 99
22.08.2014, 17:15  [ТС]     Часы в TextView #3
Spelcrawler, все-равно 24.
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
22.08.2014, 17:37     Часы в TextView #4
Сделайте счетчик миллисекунд при вводе времени переводите введенные данные в миллисекунды, а потом в AsyncTaske прибавляйте к ним столько миллисекунд сколько пауза перед выполнением кода. Сделайте проверку
Java
1
2
3
4
5
if(число_миллисекунд > 1000*60*60*24){
число_миллисекунд = 0;
}else{
число_миллисекунд = число_миллисекунд + длительность_паузы;
}
После передавайте это число в publishProgress, а там уже переводите в часы, минуты, секунды. Правда будет погрешность на число от нуля до паузы в цикле раз в сутки. Но раз вы обновляете раз в 2.5 секунды думаю не существенно.
Yandex
Объявления
22.08.2014, 17:37     Часы в TextView
Ответ Создать тему
Опции темы

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