有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android中处理程序的java循环

我试图在1分钟后呼叫一个特定的服务,但它处于循环中? 所以我尝试了以下方法:

for (int i = 0; i < temp; i++)
{
  new Handler().postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            Log.e("value", "coming up");
            openTransaction();
        }
   }, startTransaction);
}

int temp有4个,奇怪的是,我可以立即看到4个日志,而不是每1分钟记录一次。。有人能帮我在循环1分钟后打开所需的方法吗

我不确定我错在哪里

谢谢


共 (1) 个答案

  1. # 1 楼答案

    试试这个,希望对你有所帮助

    Thread mThread = new Thread() {
            @Override
            public void run() {
                try {
                    for (int i = 0; i < temp; i++) {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                // code to call your service
                                openTransaction();
                            }
                        });
                        sleep(60000); // one minute
                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                super.run();
            }
        };
        mThread.start();