2015-11-30 2 views
-1

Я пытаюсь вызвать конкретную услугу через 1 минуту, и она находится в цикле? Так что я попытался ниже:Loop for handler in Android

for (int i = 0; i < temp; i++) 
{ 
    new Handler().postDelayed(new Runnable() 
    { 
     @Override 
     public void run() 
     { 
      Log.e("value", "coming up"); 
      openTransaction(); 
     } 
    }, startTransaction); 
} 

ИНТ температура имеет 4 и странно, я могу видеть 4 журналы сразу вместо входа каждую 1 минуту .. Может кто-нибудь помочь мне, чтобы открыть нужный метод только после того, как 1 минута, которая находится в петля?

Я не уверен, где я ошибаюсь?

Спасибо!

+0

что значение StartTransaction? – Blackbelt

+0

@Blackbelt, startTransaction должно быть временем в миллисекундах, но не указано в вопросе – Androider

+1

, тогда вам необходимо использовать Thread() вместе с методом sleep() вместо обработчика. –

ответ

2

Попробуйте это, надеюсь, что это может помочь ..

Thread mThread = new Thread() { 
     @Override 
     public void run() { 
      try { 
       for (int i = 0; i < temp; i++) { 
        runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          // code to call your service 
          openTransaction(); 
         } 
        }); 
        sleep(60000); // one minute 
       } 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
      super.run(); 
     } 
    }; 
    mThread.start();