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

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

Войти
Регистрация
Восстановить пароль
 
NOVICHOK2012
6 / 6 / 0
Регистрация: 13.04.2012
Сообщений: 99
#1

Часы в TextView - Программирование Android

21.08.2014, 21:50. Просмотров 858. Ответов 3
Метки нет (Все метки)

Доброго времени суток. Делаю часы в 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)
Помогите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2014, 21:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Часы в TextView (Программирование Android):

Текст из TextView перенести в другой TextView по нажатию Button - Программирование Android
Люди, помогите плиз. Недавно начал ковырять программирование под Android. Хотел сделать банальную вещь - текст из TextView перенести в...

TextView txt = new TextView(this); - ошибка - Программирование Android
Возникла проблема с динамическим создание TextView в цыкле, хотя в другом месте создается таким же образом все нормально TextView txt =...

TextView бд - Программирование Android
Подскажите можно ли на прямую вызвать из бд в TextView текст?

TextView и Html - Программирование Android
Здравствуйте уважаемые форумчане! Мне нужно сделать вывод текста в TextView с разметкой Html, но все мои усилия тщетны, использую данную...

Прыжок к TextView - Программирование Android
На лаяуте имеется множество textView. интересует прыжок к выбранному textView через актионбар (три точки в верхнем правом углу). ...

TextView and Fragment - Программирование Android
Доброго времени суток . Очень странная проблема, в классе extends Fragment есть кнопка и текст вью , при нажатии на кнопку вызываю ...

3
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
22.08.2014, 10:23 #2
А если просто
Java
1
2
3
if( texthour.getText().equals("24"){
texthour.setText("00");
}
1
NOVICHOK2012
6 / 6 / 0
Регистрация: 13.04.2012
Сообщений: 99
22.08.2014, 17:15  [ТС] #3
Spelcrawler, все-равно 24.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
22.08.2014, 17:37 #4
Сделайте счетчик миллисекунд при вводе времени переводите введенные данные в миллисекунды, а потом в AsyncTaske прибавляйте к ним столько миллисекунд сколько пауза перед выполнением кода. Сделайте проверку
Java
1
2
3
4
5
if(число_миллисекунд > 1000*60*60*24){
число_миллисекунд = 0;
}else{
число_миллисекунд = число_миллисекунд + длительность_паузы;
}
После передавайте это число в publishProgress, а там уже переводите в часы, минуты, секунды. Правда будет погрешность на число от нуля до паузы в цикле раз в сутки. Но раз вы обновляете раз в 2.5 секунды думаю не существенно.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2014, 17:37
Привет! Вот еще темы с ответами:

Из WebView в TextView - Программирование Android
С WebView всё легко. Чтобы загрузить страницу, нужно всего-то воспользоваться одной строкой кода: WebView.loadUrl(&quot;http://example.com&quot;); ...

Изменение TextView - Программирование Android
Доброго времени суток ! Подскажите, как можно выводить список слов в textview, и по 2 button эти слова как бы листались выводя одно...

Вылетает TextView - Программирование Android
Вылетает приложение при переходе на Activity с текстом, превышающим размер экрана в стандартном масштабе. Текст храню в string.xml,...

ViewPager и TextView - Программирование Android
В приложении ViewPager и TextView. Все работает. Теперь нужно впихнуть во ViewPager 2 TextView. Можно ли это сделать и как?


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
22.08.2014, 17:37
Ответ Создать тему
Опции темы

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