2010-11-22 108 views
0

我有一个应用程序,面临着 - 应用程序可以在纳秒内完成的应用程序,但我希望用户认为它需要更长的时间。因此,在点击一个按钮的情况下,这是我有:如何在短暂暂停后执行某个操作?

final ProgressDialog dialog = ProgressDialog.show(Main.this, "", 
         "Cropping faces...", true); 
       dialog.show(); 

      Handler handler = new Handler(); 
      handler.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        dialog.dismiss(); 
       } 
      }, 3000); 
          cropFaces(); 
          return 

}

的对话框显示细腻的面孔剪裁也没关系。问题是 - 当用户运行应用程序时,两者同时出现在屏幕上。

是否有办法让对话框出现,屏幕上显示3秒钟,然后cropFaces运行?这样看起来它会在几秒钟内裁剪出脸部,然后出现新的页面。谢谢!

+0

应该基本上工作。尝试将处理程序放在onClick之外。把Handler作为活动的一个领域。我不确定,但是处理程序可能过早运行postdelay,因为它在onclick方法处理后被清除了? (只是猜测) – 2010-11-22 00:24:22

回答

2

把你的电话打到cropFaces()在你的run()方法中,所以它也被延迟了。