Android:5秒后显示一个对话框

时间:2014-07-07 21:02:11

标签: android timer fragment android-alertdialog

我想显示一个警告对话框,5秒钟后我就在某个片段上。

哪种方法最安全? 避免例如在片段处于暂停或销毁的过程中显示对话框

任何建议?

2 个答案:

答案 0 :(得分:3)

在Fragment onCreateView()方法中使用此代码:

            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                public void run() {
                    if(this!=null && !isFinishing()){
                        final ProgressDialog dialog = ProgressDialog.show(YourActivity.this,
                                "Please Wait... ", "Loading... ", false, true);
                        dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                    }
                }
            }, 5000);

这将在5秒内显示ProgressDialog。一旦5秒过去,它会检查Activity是否为空或者是否处于完成状态。如果不是,您的ProgressDialog会显示,只需按回按钮即可取消。

答案 1 :(得分:0)

     final ProgressDialog dialog= ProgressDialog.show(this,"Doing something", "Please wait....",true);  
     new Thread(new Runnable() {  
         @Override  
         public void run() {  
             try {  
             Thread.sleep(5000);  
                 dialog.dismiss();  
             }  
             catch(InterruptedException ex){  
                 ex.printStackTrace();  
             }  
         }  
     }).start();  
 

这个解决方案对我有用。它会自动关闭对话框。