如题,由于自己的程序在开始时会有一些较长时间的初始化工作,所以做了个初始化界面,在界面上有一个进度条,想在程序启动时就显示此Activity,然后通过控制进度条来显示初始化进度,试着放在了Activity的onCreate, onResume, onStar方法中,结果都是进度完成后Activity才显示出来,请指点!

解决方案 »

  1.   

    使用多线程来初始化,再配合handler来更新UI界面。
    随便搜索一下handler的资料,我这里就不贴了。
      

  2.   

    这个也容易,oncreate的时候先启动一个线程或者异步任务去加载数据,然后数据加载完了发handler通知主线程UI更新。
    可以Google一下 “android 异步任务”,基本都是下载什么的例子,带进度条的。
      

  3.   

    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.install);
    progressbar = (ProgressBar)findViewById(R.id.progressBar1);
            showtext    = (TextView)findViewById(R.id.textView1);
            new Thread(){  //创建一条线程跑显示进度条
                public void run(){
                
                
                  UpdateProgress(2);
                  try {
      sleep(2000);
       finish();
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
                          }
            }.start();
    }
      

  4.   

    setContentView(R.layout.install);这条语句在 new Thread()前面,不是先显示界面在进度条吗?
      

  5.   


    线程要更新的组件要先Layout到界面上,也就是setContentView(R.layout.install);