Android黑屏问题

时间:2011-02-04 15:33:05

标签: android progressdialog

我将控件从Activity1转发到Activity2

在Activity2中   我在setContentView

之前在onCreate中使用progressDialog

经过一些网络操作后,我正在使用setcontentView

但是progressDialog根本没有显示......

如何归档progressDialog。

谢谢。

2 个答案:

答案 0 :(得分:3)

请发布一些代码,以便我们确定,但我打赌它是因为您的网络运营。正如我对this question关于toast消息的回答一样,当你打电话来创建一个对话框时,我认为你请求 UI线程创建一个对话框,它不一定会发生只要show()方法返回。如果您随后在onCreate中执行网络操作,那么这将阻止UI线程,直到它完成,从而阻止Dialog出现。您应该将任何网络请求移出AsyncTaskThread / 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();