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

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

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

CountDownTimer запуск в цикле - Программирование Android

24.03.2016, 20:09. Просмотров 255. Ответов 1
Метки нет (Все метки)

У меня есть класс где я реализовал таймер:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.lineup.intervaltimer;
import android.os.CountDownTimer;
 
public class Timer {
    private int time; //time in millies
    private final int millisPerSeconds = 1000;
    private CountDownTimer timer;
 
    Timer(int s) {
        setTime(toMillis(s));
    }
    Timer(int m, int s) {
        setTime(toMillis(m, s));
    }
    Timer(int h, int m, int s) {
        setTime(toMillis(h, m, s));
    }
 
    public int toMillis(int s) {
        return s*millisPerSeconds;
    }
    public int toMillis(int m, int s) {
        return ((m*60)+s)*millisPerSeconds;
    }
    public int toMillis(int h, int m, int s) {
        return (((h*60)*60)+((m*60)+s))*millisPerSeconds;
    }
 
    public int[] toTime(int millis) {
        int h, m, s, temp;
        temp = millis / millisPerSeconds;
        s = temp % 60;
        temp = temp-s;
        temp = temp / 60;
        m = temp % 60;
        temp = temp - m;
        h = temp / 60;
        int time[] = {h,m,s};
        return time;
    }
 
    public void setTime(int millis) {
        time = millis;
    }
 
    public void start() {
        if(timer!=null) timer.cancel();
        int countDownMillies = time + 2000;
        timer = new CountDownTimer(countDownMillies, millisPerSeconds) {
            @Override
            public void onTick(long millisUntilFinished) {
                show((int)millisUntilFinished);
            }
            @Override
            public void onFinish() {}
        }.start();
    }
    public void show(int millis) {
        //будет реализовано позже
    }
}
Нужно иметь возможность запускать таймеры в цикле и перед чтобы запуском следуещего программа ожидала завершение предыдущего. Пример:
Java
1
2
3
4
5
6
Timer timer1, timer2;
timer1 = new Timer(5);
timer2 = new Timer(2);
for(int i=0; i<2; i++) {
timer1.start();
timer2.start(); }
Как это возможно реализовать?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2016, 20:09     CountDownTimer запуск в цикле
Посмотрите здесь:

Не могу остановить CountDownTimer - Программирование Android
Всем доброго времени суток. Пытаюсь написать таймер обратного отсчета до определенной даты и времени. И все работает хорошо, до момента...

Сделать бесконечный CountDownTimer - Программирование Android
Использую CountDownTimer он в моем случае удобней обычного Timer, но проблема в том , что время его работы ограничено как 990000000, можно...

Как убить поток в CountDownTimer? - Программирование Android
Привет, бойцам невидимого фронта! есть эдакий кастомный CountDownTimer.java: package com.dis.medprog; /* * Copyright (C)...

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

Остановка выполнения таймера (CountDownTimer) из другого класса - Программирование Android
При входе в активити в методе onCreate выполняется таймер: new CountDownTimer(40000, 1000) { public void onTick(long...

CountDownTimer - "в приложении произошла ошибка" - Программирование Android
в приложении работает обратный счетчик реализованный через CountDownTimer. время от времени вылезает ошибка &quot;в приложении .. произошла...

Join в цикле while - Программирование Android
В уроке 141 startandroid.ru есть код: while (retry) { try { drawThread.join(); retry = false; ...

Пауза в цикле - Программирование Android
Народ, научите пожалуйста как сделать паузу в цикле... А то бьюсь бьюсь и ничего не выходит(( Не получаеца сделать паузу после каждой...

О жизненном цикле приложения - Программирование Android
Вроде бы столько уже сказано о жизненном цикле приложения Андроид, что и вопросов вроде не должно остаться :) Но вот столкнулся с...

Перебор id ресурсов в цикле - Программирование Android
Добрый день, В layout расположены 20 кнопок, каждая из которых, естественно, имеет собственный id. Эти id отличаются только числовым...

Обращение к различными наименованиям в цикле - Программирование Android
Как можно написать динамическую выборку изображений в цикле, чтобы избегать подобных конструкций? imgArray = (ImageView)...

Выполнение функции в цикле или ? - Программирование Android
Приветствую ребята! Работаю с веб - сервисом. Есть ListView (туда получаю список объектов): Мне необходимо реализовать...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JavaStarter
11 / 11 / 3
Регистрация: 14.05.2015
Сообщений: 52
24.03.2016, 20:44     CountDownTimer запуск в цикле #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class MyThread implements Runnable{
    Timer timer;
    
    public MyThread(Timer timer){
        this.timer = timer;
    }
 
    public void run(){  
        try {
            timer.start();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub
        Timer timer1 = new Timer(5);
        Timer timer2 = new Timer(3);
        
        for(int i=0; i<2; i++){
        
        Thread thread1 = new Thread(new MyThread(timer1));
        Thread thread2 = new Thread(new MyThread(timer2));
        thread1.start();
        thread1.join();
        thread2.start();
        thread2.join();
        
        }
        
    }
Ответ Создать тему
Опции темы

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