ProgressBar投资活动

时间:2011-06-11 13:40:15

标签: android android-activity android-intent

我有两项活动。第一个执行第二个。

Intent i = new Intent(MyOne.this, MyTwo.class);
                     startActivity(i);

问题:我的第二个活动在启动时做了一些繁重的工作,所以它启动了几秒钟,在启动之前,我看到一个黑屏。

是否可以设置进度条或某些图像而不是此黑屏?因为我不认为用户会等待什么,他不知道。我在第二个活动中尝试在 setcontentview 之后设置进度条,但只有在活动完全启动时才显示进度条。

2 个答案:

答案 0 :(得分:4)

我建议您使用AsyncTask异步执行此操作。

简短的例子:

ProgressDialog dialog;
class YourTask extends AsyncTask<Void, Void, Void> {
        protected void onPreExecute() {
                   dialog = ProgressDialog.show(...);
        }

        protected Void doInBackground(Void... unused) {
            try {
               // doSomethingHeavy();
                   // publishProgress(...);
            } catch(Exception e) {
                //...
            } 

            return null;
        }

        protected void onProgressUpdate(Void... unused) {
        }

        protected void onPostExecute(Void unused) {
            dialog.dismiss();

        }
    }

答案 1 :(得分:1)

你确定可以。查看AsyncTaskthis tutorial获取灵感。