Увеличение индикатора выполнения во время отложенного вызова - PullRequest
1 голос
/ 22 июня 2011

У меня отложенный вызов, который выглядит следующим образом:

handler.postDelayed(new Runnable() { 
            public void run() {
                newDeviceBluetooth();
            //increment progressbar each thousand millis passed
            }
       },15000);

Однако у меня есть полнофункциональный индикатор выполнения, который я хочу увеличивать с каждой секундой, прошедшей с задержкой.Так каков подход к этой проблеме, это способ реализовать это?

Оцените время, которое вы потратили, чтобы ответить и помочь мне


Итак, после того, как я посмотрелбыло возможно из ответов я написал свой собственный класс, который реализует работоспособный.Это возможный способ реализовать это?Думаю, что я неправильно поняла, что мое внутреннее чувство не портится.

    public void run() {
    while(counter <= 15){
        if(counter < 15){
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    counter++;
                }
            }, 1000);
        }
        else{
            sb.newDeviceBluetooth();
        }
    }

}

Ответы [ 2 ]

3 голосов
/ 22 июня 2011

Возможно ли вместо этого использовать AsyncTask? Затем вы можете вызвать publishProgress () и обновить пользовательский интерфейс в onProgressUpdate ()

Возможно, это не лучшее решение, так как для этого потребуется другой поток.


Но вы можете разводить свой Runnable огонь каждую секунду. Вы можете сделать это с помощью метода run (), выполняющего postDelayed () с вашим обработчиком.

Создайте свой собственный класс, расширяющий runnable, и используйте переменную-член для счетчика. В обычном случае обновите интерфейс и вызовите newDeviceBluetooth () в 15-й раз.

1 голос
/ 27 июня 2011

Нашел ответ на проблему.Пример демонстрационного кода приведен в демоверсии API под App / dialog / Progress dialog

. Поэтому приведенный ниже код необходимо изменить, но он отображает задержку индикатора выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...