当前位置: 代码迷 >> Android >> 怎么在Activity界面显示后进行一些初始化操作
  详细解决方案

怎么在Activity界面显示后进行一些初始化操作

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

------解决方案--------------------
使用多线程来初始化,再配合handler来更新UI界面。
随便搜索一下handler的资料,我这里就不贴了。
------解决方案--------------------
lz的意思是启动时只显示布局而已,数据方面的要通过进度条加载吗?
------解决方案--------------------
这个也容易,oncreate的时候先启动一个线程或者异步任务去加载数据,然后数据加载完了发handler通知主线程UI更新。
可以Google一下 “android 异步任务”,基本都是下载什么的例子,带进度条的。
------解决方案--------------------
探讨

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

------解决方案--------------------
需要开一个线程
------解决方案--------------------
Java code
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();    }
------解决方案--------------------
setContentView(R.layout.install);这条语句在 new Thread()前面,不是先显示界面在进度条吗?
------解决方案--------------------
探讨

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