本示例從Android上的書中複製而來。正如你可以從我的問題中看到的,我是Android新手,並試圖理解。 此應用程序應該會崩潰,但它不會(我正在從另一個線程更新UI,這是不允許的,它應該會導致崩潰,但不會,爲什麼?)。我的代碼是:瞭解簡單ProgressDialogue,另一個線程如何更新UI?
final ProgressDialog dialogue = ProgressDialog.show(this, "title", "message");
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
Thread.sleep(7000);
dialogue.dismiss();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
這是在OnCreate
函數來完成。我很困惑 - dialogue.dismiss();
是不是更新UI(解除對話)從另一個線程?爲什麼這個應用程序不是導致分段錯誤?
謝謝。
我想你誤解了我的問題,或者我誤解了你的答案。即使我從其他線程更新UI,該應用程序也不會崩潰。我想知道它爲什麼不會崩潰。 – Anon