2016-08-18 53 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);