如何在活动之间切换时显示进度条

时间:2013-05-26 06:00:40

标签: android android-activity progress-bar

我有两个活动Activity1和Activity2。  单击按钮时,我将从Activity1切换到Activity2。但由于网速较慢,Activity2需要花费大量时间才能加载。显示空屏幕,直到加载活动。

我想显示一个进度条而不是黑屏,而当Activity2准备就绪时,则关闭进度条而不会让用户感到沮丧。

我不知道如何做到这一点或开始这个。我是android的新手。  请通过提出建议帮助我,或者请分享关于此的任何链接!!

提前致谢!!

3 个答案:

答案 0 :(得分:1)

您可以在活动的onCreate中使用AsyncTaskonPreExecute中显示progressdialog。在onDoinBackground完成下载。在onPostExecute完成后隐藏progressdialog并在用户界面中显示内容。

示例代码

private class YourTask extends AsyncTask<Void, Void, ContentType> {
    protected void onPreExecute() {
        //show progressdialog here
    }

         protected ContentType doInBackground() {
             // download content
             return content;
         }


         protected void onPostExecute(ContentType content) {
             // hide progress dialog
              // show the content
         }
     }

答案 1 :(得分:0)

使用加载屏幕(不确定的进度条,或者圆圈很好)或更好的方式启动Activity2:缓存数据,并将重要内容放在线程上。 在该主题的最后,删除进度条并显示您的数据。

考虑到这个想法,Activity2将非常快速地启动,您可以在数据加载期间显示您想要的观察者

线程会避免黑屏。

public class Activity2 extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        new Thread(new Runnable() { 
            public void run(){
               //All your heavy stuff here!!!
            }
        }).start();
    }
}

注意:您可能也更喜欢AsyncTask,您可以在这里看到一个很好的比较,以实现您想要的不同方式:

http://techtej.blogspot.be/2011/03/android-thread-constructspart-4.html

答案 2 :(得分:0)

ASyncTask正是您正在寻找的。实施起来应该不难。