什么相当于 Android/Java 中的 JavaScript setInterval/setTimeout?

新手上路,请多包涵

谁能告诉我 setInterval/setTimeout 是否存在 Android 的等价物?有没有人有任何关于如何做的例子?

原文由 karse23 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 610
2 个回答

与 Android 一样,有很多方法可以做到这一点,但假设您只是想稍后在同一线程上运行一段代码,我使用这个:

 new android.os.Handler(Looper.getMainLooper()).postDelayed(
    new Runnable() {
        public void run() {
            Log.i("tag", "This'll run 300 milliseconds later");
        }
    },
300);

..这几乎等同于

setTimeout(
    function() {
        console.log("This will run 300 milliseconds later");
    },
300);

原文由 Ben Clayton 发布,翻译遵循 CC BY-SA 4.0 许可协议

设置间隔()

每 n 毫秒重复一次的函数

Javascript

  setInterval(function(){ Console.log("A Kiss every 5 seconds"); }, 5000);

近似 的java 等价物

new Timer().scheduleAtFixedRate(new TimerTask(){
    @Override
    public void run(){
       Log.i("tag", "A Kiss every 5 seconds");
    }
},0,5000);

设置超时()

仅在 n 毫秒后起作用的函数

Javascript

 setTimeout(function(){ Console.log("A Kiss after 5 seconds"); },5000);

近似 的java 等价物

new android.os.Handler().postDelayed(
    new Runnable() {
        public void run() {
            Log.i("tag","A Kiss after 5 seconds");
        }
}, 5000);

原文由 Midhun 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题