Android sleep() 不阻塞 UI

标签 android sleep thread-sleep

对于我的新 Android 应用程序,我需要一个函数,使我的应用程序超时 3 秒。我试过这样的函数“sleep()”:

seekBar1.setProgress(50);                // Set something for my SeekBar

try{
   Thread.sleep(3000);                   // Wait for 3 Seconds
} catch (Exception e){
   System.out.println("Error: "+e);      // Catch the exception
}

button.setEnabled(true);                 // Enable my button

它似乎有效,但如果我正在运行该应用程序,它会像这样:WAITING 3 秒,设置进度并启用按钮。我想先设置进度,然后等待 3 秒,然后才启用按钮。

“sleep()”是否适合我使用,或者我还能做些什么让我的应用程序以正确的顺序执行它?

最佳答案

您可以像这样使用 postDelayed() 方法:

handler=new Handler();
Runnable r=new Runnable() {
    public void run() {
        //what ever you do here will be done after 3 seconds delay.              
    }
};
handler.postDelayed(r, 3000);

关于Android sleep() 不阻塞 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58070039/

相关文章:

android - 设备管理员 onDisabled() 未在 android 中调用

c++ - 向 gtest 测试用例添加延迟

python - 在 Python 2.7 中将 Windows PC 从 sleep 状态唤醒

Ruby sleep 到特定时间

c# - Thread.Sleep 是否会阻碍其他线程?

java - 如何在单个方法内延迟而不延迟 java 中的整个程序?

php - 如何从 ListView 中删除选中的数据

android - Flurry 分析未报告 Android 上的任何更新

java - Android:异步任务线程 hibernate 错误

android - 为什么在用Cordova构建APK时出现此错误?