Android中的进度对话框

Android中的进度对话框,android,progressdialog,Android,Progressdialog,我完全了解如何在应用程序中显示进度对话。我只是想知道我们是否可以为这个进度对话框设置“超时”时间间隔。[我的意思是,是否有此API] 我总是可以为此运行一个线程,但我认为如果已经有一个内置API会更好。您也可以使用处理程序(向处理程序发送延迟消息,处理程序将关闭对话框)。我不知道如何告诉对话框在给定时间后自动关闭 private ProgressDialog dialog; private Handler closeHandler = new Handler() { public void

我完全了解如何在应用程序中显示进度对话。我只是想知道我们是否可以为这个进度对话框设置“超时”时间间隔。[我的意思是,是否有此API]


我总是可以为此运行一个线程,但我认为如果已经有一个内置API会更好。

您也可以使用处理程序(向处理程序发送延迟消息,处理程序将关闭对话框)。我不知道如何告诉对话框在给定时间后自动关闭

private ProgressDialog dialog;
private Handler closeHandler = new Handler() {
  public void handleMessage(Message msg) {
    if (dialog!=null) dialog.dismiss();
  }
};


public void openDialog() {
  // Open the dialog

  // Close it after 2 seconds
  closeHandler.sendEmptyMessageDelayed(0, 2000);
}

没有内置的api。只需使用AsyncTask或thread,正如您已经提到的那样。

我目前正在使用处理程序的方式来实现这一点。这是一个进度对话框,用于从internet下载某些内容。这里发生的是,如果在下载过程的中间,互联网连接消失,进度对话框永远重复。这是因为我只有在下载完成后才调用disclose方法。您还应该在Http请求上设置一个超时,否则,您将在整个活动期间保持下载过程。我知道你是如何用错误的解决方案解决问题的。然后监听网络连接,如果连接中断,请关闭对话框和任何web操作。当连接断开时,检查没有抛出任何异常?@sat:这就是我要找的。万分感谢!