我想要一个时钟/计时器,它的速度不是太快,并且像 while 循环一样强制关闭。 这种力量关闭:
while(loopEnabled == true)
{
//Do stuff
Toast toast Toast.makeText(this, "Hi!", 10000);
toast.show();
}
这也是:
public void loop()
{
//Do stuff
Toast toast Toast.makeText(this, "Hi!", 10000);
toast.show();
resetLoop();
}
public void resetLoop()
{
Thread.sleep(100);
loop();
}
有什么替代方法可以阻止这种情况吗?我的意思是代码会一遍又一遍地快速发生。
最佳答案
查看 Handler,尤其是 postAtTime 或 postDelayed 方法。
例如:
private int mInterval = 1000; // in ms, so 1s here
private Handler mHandler;
@Override
protected void onCreate(Bundle bundle)
{
mHandler = new Handler();
}
Runnable mRepeatingTask = new Runnable()
{
@Override
public void run() {
// do something here
// schedule run again for mTnterval ms from now
mHandler.postDelayed(mRepeatingTask , mInterval);
}
};
void startRepeatingTask()
{
mRepeatingTask.run();
}
void stopTask()
{
mHandler.removeCallbacks(mRepeatingTask);
}
关于java - Android 定时器/时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18819034/