Android sleep()没有阻止UI

Pas*_*ann 17 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
Run Code Online (Sandbox Code Playgroud)

它似乎工作,但如果我正在运行应用程序,它会这样做:等待3秒,设置进度和启用按钮.我想首先设置进度,然后等待3秒,然后才启用按钮.

"sleep()"是否适合我使用,或者我可以做什么,我的应用程序以正确的顺序执行此操作?

Moh*_*man 33

你可以使用这样的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);
Run Code Online (Sandbox Code Playgroud)