我有一个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”异常。
我已经寻找解决这个问题的方法,但我无法弄清楚如何解决这个问题。 任何想法?