2016-08-18 127 views
1

我想推迟在Java中的对话框弹出。 我不想使用Thread.sleep,因为动画正在播放。延迟对话框Java

这里是我试过,但它不工作:

try{ 
    final Dialog d = new Dialog(this); 
    d.wait(1500); 
    d.show(); 
}catch(Exception e){} 

对话框不显示。但是,当我删除d.wait(1500)然后它的工作。

你有什么想法来帮助我吗?

谢谢!

+1

使用处理程序,它 –

回答

1

要在Android上延迟后执行某些操作,请使用Handler和它的postDelayed方法。它需要定义要运行的代码的runnable和定义执行runnable之前的延迟的int。

new Handler().postDelayed(new Runnable() { 
         @Override 
         public void run() { 
          final Dialog d = new Dialog(getContext()); 
          d.show(); 
         } 
        }, 1500); 
1

你应该postDelay()方法中使用的处理器,这里是代码:

Handler handler = new Handler(Looper.getMainLooper()); 
    handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      final Dialog d = new Dialog(YourActivity.this); 
      d.show(); 
     } 
    }, 1000);