Как сделать задержку в ходе выполнения цикла?

183
20 марта 2018, 01:19

Необходимо сделать цикл, в котором происходит выполнения действия -> задержка (допустим секунда) -> опять действие.

Мои попытки приводят к тому, что действие выполняется, только все задержки "суммируются" и используются одновременно, что приводит к тому, что результат выводиться только к концу цикла.

    public void Add(View v){
        Run();
    }
    public void Run(){
        while(a!=5){
        a++;
      String b = String.valueOf(a);
        myList.add(b);
        name=myList.toArray(new String[myList.size()]);
        RV.setAdapter(new Adapter(name));
            try
            {
                Thread.sleep(100);
            }
            catch (InterruptedException e)
            {}
        }
    }

Прошу помочь если не кодом, то советом/ссылкой на нечто подобное.

Answer 1

В чем проблема? Ваш вариант вполне подходит. Можно немного красивее:

for(int i = 0; i < 3; i++) {
    // Ваш код
    try {
        Thread.sleep(1000)
    } catch(InterruptedException ex) {}
}

Все происходит как Вы и хотите: выполняется Ваш код -> задержка (1 сек) -> опять выполняется Ваш код. И так 3 раза.

READ ALSO
Как динамически обновлять текст в Label, при его изменении в цикле (Java)?

Как динамически обновлять текст в Label, при его изменении в цикле (Java)?

Есть два класса: Second и ThirdОба отображают окно JFrame

193
циклический switch java

циклический switch java

Мне нужно сделать консольное меню, использовал обычный switch, но не знаю как сделать чтобы при выборе кейса, он выполнялся и после этого в консоли...

215
Итератор для бинарного дерева

Итератор для бинарного дерева

Всем приветЗадача реализовать бинарное дерево поиска

196