如何在Activity界面显示后进行一些初始化操作?

feibob 软件工程师  2012-03-26 02:49:59
如题,由于自己的程序在开始时会有一些较长时间的初始化工作,所以做了个初始化界面,在界面上有一个进度条,想在程序启动时就显示此Activity,然后通过控制进度条来显示初始化进度,试着放在了Activity的onCreate, onResume, onStar方法中,结果都是进度完成后Activity才显示出来,请指点!
...全文
354 点赞 收藏 11
写回复
11 条回复
feibob 2012年03月27日
非常感谢楼上各位,但分数有限,大家意思意思吧:)
回复 点赞
leer168 2012年03月26日
[Quote=引用 9 楼 zhongyuanceshi 的回复:]

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

线程要更新的组件要先Layout到界面上,也就是setContentView(R.layout.install);
回复 点赞
zhongyuanceshi 2012年03月26日
setContentView(R.layout.install);这条语句在 new Thread()前面,不是先显示界面在进度条吗?
回复 点赞
octopus666 2012年03月26日


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();
}

回复 点赞
麦田捕手 2012年03月26日
需要开一个线程
回复 点赞
傲慢的上校 2012年03月26日
[Quote=引用 1 楼 himi_ 的回复:]

使用多线程来初始化,再配合handler来更新UI界面。
随便搜索一下handler的资料,我这里就不贴了。
[/Quote]使用1楼说的这个方法就行,简单方便。
回复 点赞
feibob 2012年03月26日
非常感谢,先学习去,回来给各位加分:)
回复 点赞
dinjay 2012年03月26日
这个也容易,oncreate的时候先启动一个线程或者异步任务去加载数据,然后数据加载完了发handler通知主线程UI更新。
可以Google一下 “android 异步任务”,基本都是下载什么的例子,带进度条的。
回复 点赞
ihrthk 2012年03月26日
用2楼的方法。
回复 点赞
小笨熊 2012年03月26日
lz的意思是启动时只显示布局而已,数据方面的要通过进度条加载吗?
回复 点赞
himi_ 2012年03月26日
使用多线程来初始化,再配合handler来更新UI界面。
随便搜索一下handler的资料,我这里就不贴了。
回复 点赞
发动态
发帖子
Android
创建于2009-10-09

4.6w+

社区成员

9.0w+

社区内容

移动平台 Android
社区公告
暂无公告