java - Android 定时器/时钟

标签 java android loops timer clock

我想要一个时钟/计时器,它的速度不是太快,并且像 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/

相关文章:

java - 如何知道一个jobobject所属的jclass(JNI)

android - 适用于大型项目的 Jetpack Compose Activity 和可组合项

android - 强制关闭应用程序后,工作经理定期工作无法在中文 ROM 上工作

c - C 编程新手,需要指导

java - 递归函数内部有循环的函数的复杂性是多少

java - String.format ("%.1g", 0.0f) 导致索引异常,这是一个错误吗?

java - 如何通过 javax.xml.ws.Service 进行调用

java - 使用 Google API 将网站添加到 Google 网站管理员

java - 简化java中复杂的if语句

javascript - 循环通过背景图像 onClick 工作 - 但仅在 secondClick