2012-05-11 2 views
0
Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     public void run() { 
//     runs a method every 2000ms 
//  example runThisEvery2seconds(); 
     } 
    }, 2000);   

} //end of OnCreate 

public void runThisEvery2seconds() 
{ 
    //code that runs every 2 seconds 
    Toast.makeText(getBaseContext(), "Run from timer", Toast.LENGTH_SHORT); 
} 

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

ответ

1

Обязательно позвоните show(), когда вы сделаете сообщение с тостом.

Toast.makeText(getBaseContext(), "Run from timer", Toast.LENGTH_SHORT).show(); 

И нет, ваше сообщение не будет отображаться раз в две секунды. postDelayed запускает задачу один раз, после указанной задержки, но после этого это делается. Если вы хотите, чтобы задачи выполнялись по расписанию, взгляните на Java Timer или ScheduledExecutorService.

1

Вы не показываете Toast.
Вызов метода show.

Toast.makeText(getBaseContext(), "Run from timer", Toast.LENGTH_SHORT).show(); 
1

.show() конец тоста.

Toast.makeText (getBaseContext() "Запуск от таймера", Toast.LENGTH_SHORT) .show();

0

Позвоните по телефону show().

Toast.makeText(getBaseContext(), "Run from timer", Toast.LENGTH_SHORT).show(); 
Смежные вопросы