活动之间的进度条

4

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

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

问题:我的第二个活动在启动时会执行一些繁重的工作,因此它需要几秒钟才能启动,而在它启动之前,我看到一个黑屏。

有没有办法在这个黑屏中设置进度条或一些图像?因为我认为用户不会等待他不知道的东西。我尝试在第二个活动的setcontentview之后设置进度条,但是进度条只在活动完全启动后才会显示出来。

2个回答

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

        }
    }

出现“变量'dialog'在内部类中被访问,需要是final或有效的final”的错误提示。在Async Task类中如何正确地影响对话框(Activity范围)? - Eggcellentos

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接