在Android應用程序中執行以下代碼時,setText發生在從另一個Service調用mainActivity.notify()之後。因此,看起來好像mainActivity.wait()在setText之前執行,導致setText等待。如何在Android中使用wait()函數時同步執行?
這可能是什麼原因以及如何在mainActivity.wait()之前執行Toast,以便在MainActivity等待時顯示setText。
public static Activity mainActivity;
....
startButton.setText("Processing...");
synchronized(MainActivity.mainActivity) {
try {
mainActivity.wait();
} catch (InterruptedException e) {
}
}
startButton.setText("Start");
你凍結UI線程?爲什麼? –
您不能導致主(UI)線程等待。這是沒有理由的,Android框架不會允許它。它會因無響應而殺死你的應用。你想在這裏完成什麼? –
@DavidWasser我明白這一點。我的MainActivity正在等待1-2秒,直到服務完成處理,以便它可以顯示服務生成的結果。 –