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