我使用以下代码在特定时间段后说9秒执行一个方法。该代码仅在第一次执行后才能正常工作。但是我希望在启动活动时,必须在9秒后调用该方法。现在发生的事情是,在启动活动的那一刻调用该方法,然后再调用9秒后调用该方法。 以下是我的代码:
private Timer myTimer;
myTimer = new Timer();
myTimer.schedule(new TimerTask()
{
@Override
public void run()
{
TimerMethod();
}
}, 0, 9000);
private void TimerMethod()
{
this.runOnUiThread(Timer_Tick);
}
private Runnable Timer_Tick = new Runnable()
{
public void run()
{
//Did some UI Operation
Toast.makeText(context, msg, 1000).show();
}
};
答案 0 :(得分:3)
您可以使用:
private void TimeMethod() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//TODO after 9 sec
}
}, 9000);
}
希望这会有用,
干杯