我将控件从Activity1转发到Activity2
在Activity2中 我在setContentView
之前在onCreate中使用progressDialog经过一些网络操作后,我正在使用setcontentView
但是progressDialog根本没有显示......
如何归档progressDialog。
谢谢。
答案 0 :(得分:3)
请发布一些代码,以便我们确定,但我打赌它是因为您的网络运营。正如我对this question关于toast消息的回答一样,当你打电话来创建一个对话框时,我认为你请求 UI线程创建一个对话框,它不一定会发生只要show()
方法返回。如果您随后在onCreate
中执行网络操作,那么这将阻止UI线程,直到它完成,从而阻止Dialog
出现。您应该将任何网络请求移出AsyncTask
或Thread
/ Handler
组合。
答案 1 :(得分:2)
不要忘记调用ProgressDialog的show():
ProgressDialog dialogLoad;
dialogLoad = ProgressDialog.show(this, "", "Loading...", true);
//doing work
//when done with work
dialogLoad.dismiss();
===============================
考虑使用线程:
ProgressDialog dialogLoad;
dialogLoad = ProgressDialog.show(this, "", "Loading...", true);
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
dialogLoad.dismiss();
}
};
Thread updateData = new Thread() {
public void run() {
//************make calls to web service/network***************
handler.sendEmptyMessage(0);
}
};
updateData.start();