2012-05-11 15 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()内のコードを実行すると、それは2秒ごとに実行されますか?Androidタイマーを自動実行する方法

答えて

1

トーストメッセージを作成するときにshow()に電話してください。

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

いいえ、メッセージは2秒ごとに表示されません。 postDelayedは、指定された遅延の後にタスクを1回実行しますが、その後は完了します。タスクをスケジュールに従って実行する場合は、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(); 
関連する問題