2011-03-25 79 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