我有一個很奇怪的問題,我無法到目前爲止調試...... 事情是...我的應用程序需要下載一些工作。所以在onCreate()方法的開始,我檢查是否已經下載了一些東西。如果沒有,我彈出一個對話框要求用戶下載它。顯示對話框另一個對話框後:掛起
if (!isInstalled) {
showDialog(DIALOG_INSTALL);
} else {
start();
}
其中start()方法執行一些其他操作。現在,showDialog稱之爲:
builder = new AlertDialog.Builder(MyApp.this);
builder.setMessage("Would you like to install...")
.setCancelable(false)
.setPositiveButton("Install", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
aManager.install(MyApp.this);
}
});
dialog = builder.create();
return dialog;
我的對話框顯示,我點擊了,所以aManager.install()被調用。我傳遞的情況下,因爲aManager.install()彈出一個ProgressDialog顯示下載進度,併產生一個新的線程中,一切都被下載。所以顯然在創建我的對話框之前,我讓一個Handler接收來自該aManager.install()的響應。響應可能會有所不同,因爲例如互聯網連接不可用(Exception引發並捕獲,而偵聽器使用不同的代碼調用)。 (例外)我想調用另一個對話框,指出「出錯了,你想重試嗎?」...所以再次調用showDialog(DIALOG_REINSTALL)(這次是另一個代碼) 。 事情是... ShowDialog的()被調用(我可以通過登錄驗證這一點),但該對話框不會顯示出來。相反,我的應用程序只是懸掛!?!?!?
是否有人有線索,爲什麼它這樣做????也不例外提出,從logcat中絕對沒有,我不能說出它的掛...只是看到該方法被調用,並應顯示在對話框...
非常感謝您!