2011-03-25 85 views
0

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

我总是可以运行这个线程,但认为这将是更好,如果有一个内置的API已经..

回答

1

没有内置api。只需使用AsyncTask或线程,你已经提到过了。

+0

嗯,感谢分享.. – 2011-03-25 10:58:02

0

你可以使用一个处理程序,以及(向处理程序发布延迟消息,处理程序将关闭对话框)。我不知道有什么办法可以让对话在一段时间后关闭。

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); 
} 
+0

我目前正在使用处理程序的方式来做到这一点。这是一个从互联网上下载一些内容的进度对话框。这里发生的情况是,如果在下载过程中,互联网连接消失,进度对话框会一直重复。这是因为我只有在下载完成后才调用解除方法。 – 2011-03-25 10:57:30

+0

你应该在你的Http请求上设置一个超时时间,否则你将在整个活动期间保持一个下载过程。恕我直言,你正在解决与错误的解决方案的问题。 – 2011-03-25 11:00:25

+2

然后监听网络连接,如果连接正常,请关闭对话框和任何Web操作。检查http://stackoverflow.com/questions/3307237/how-can-i-monitor-the-network-connection-status-in-android – sat 2011-03-25 11:00:39