我有一個Tabhost活動,所有選項卡都由活動表示,其中一個名爲BrowserTab。Android ProgressDialog:泄漏窗口
所有這些活動都遵守Observable類Data。
在BrowserTab中,我調用Data中的一個方法,它從互聯網上檢索一些數據。 我想用ProgressDialog通知用戶調用這個方法。 我試着這樣說:
在BrowserTab:
public void loadXML(){
progressDialog = ProgressDialog.show(this, "", "Loading. Please wait...", true);
data.loadXML(getUrl());
}
public void update(Observable o, Object arg)
{
progressDialog.dismiss();
}
數據:
public void loadXML(String url)
{
this.xml = new XMLParser().parse(url);
setChanged();
notifyObservers();
}
與此類似,ProgressDialog出現加載後,立即再次dissapear。
當我在Data中的loadXML(String url)方法中創建一個新的線程時,當觀察者被通知時,我得到一個「Activity has leaked window」異常。
我已經尋找解決這個問題的方法,但我無法弄清楚如何解決這個問題。 任何想法?