Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在安卓系统中,如果不锁定应用程序UI,我怎么能等待10秒_Java_Android_Wait - Fatal编程技术网

Java 在安卓系统中,如果不锁定应用程序UI,我怎么能等待10秒

Java 在安卓系统中,如果不锁定应用程序UI,我怎么能等待10秒,java,android,wait,Java,Android,Wait,我遇到了一个问题,我想等待10秒钟,因为我希望我的应用程序在10秒钟后启动下面的代码,但不阻止该用户单击应用程序中的任何其他内容(不调用Thread.sleep();) 您永远不想在UI线程上调用thread.sleep(),因为听起来您已经明白了。这会冻结UI,这永远是一件坏事。您可以使用单独的线程和postDelayed 演示如何执行此操作以及其他几个选项 您可以查看这些,看看哪一个最适合您的特定情况在新线程上执行此操作(将其与主线程分开) 1使用处理程序: handler.sendEm

我遇到了一个问题,我想等待10秒钟,因为我希望我的应用程序在10秒钟后启动下面的代码,但不阻止该用户单击应用程序中的任何其他内容(不调用
Thread.sleep();


您永远不想在
UI
线程上调用
thread.sleep()
,因为听起来您已经明白了。这会冻结
UI
,这永远是一件坏事。您可以使用单独的
线程
postDelayed

演示如何执行此操作以及其他几个选项

您可以查看这些,看看哪一个最适合您的特定情况

在新线程上执行此操作(将其与主线程分开)

1使用处理程序:

handler.sendEmptyMessageDelayed(1, 10000);
}

private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        if (msg.what == 1) {
           //your code
        }
    }
};
您可以使用以下选项:

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    public void run() {
     // Actions to do after 10 seconds
    }
}, 10000);
要停止处理程序,可以尝试以下操作:
handler.removeCallbacksAndMessages(null)

什么是“触发器”,因为android文档要求输入int不能输入stringI是错误的。。。这是您的邮件的id。轻松尝试,无需任何额外努力即可完成工作。我需要一些简洁的东西,它就像一个魔咒。看看这些问题,它们看起来很相似:--postDelayed不会锁定你的Ui而是线程。睡眠可以。删除线程。睡眠并在Runnable中继续您的工作
handler.sendEmptyMessageDelayed(1, 10000);
}

private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        if (msg.what == 1) {
           //your code
        }
    }
};
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    public void run() {
     // Actions to do after 10 seconds
    }
}, 10000);