0

我的活动需要很长时间才能加载,所以我希望在单击开始此活动时显示加载消息,例如(正在加载.....)

这是启动此活动的按钮

    start.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent intent = new Intent(test.this, MainActivity.class);
            startActivity(intent);

        }
    });

那么我应该在这里写什么代码来显示这个加载消息,直到 MainActivity 加载?

4

2 回答 2

0

如果您的活动 A 在单击时显示活动 B 需要很长时间才能加载,最常见的方法是:

  • 在活动 B 布局视图中有一个进度条,并使其在活动 B 的 onCreate 中可见

  • 所有长时间运行的操作要么放在 asyncTask 中,要么放在将在后台运行的某个 Service 中

  • 当长时间运行的操作完成时 - 通过将其可见性设置为 View.GONE 来更新进度条。

我会为你写一个代码,但由于我没有你的代码,我认为我能提供帮助的最好方法是将你的问题分解为一个步骤。

于 2013-11-13T14:25:46.870 回答
0

daneejela 提供了一个解决方案,但我确实认为您长时间启动 MainActivity 的原因是真正的问题,应该得到解决。

当您在 MainThread 中执行过多的块方法调用或此类事情时,活动将需要很长时间才能启动。尝试在后台线程中执行这些操作(您可以使用 AsyncTask)。这将导致立即启动 Activity。当您的 AsyncTask 工作时,您可以显示一点 ProgressDialog 或更好,在您的 Activity 某处显示一个不会阻止用户执行任何操作的 ProgressBar。

您应该明确了解 Android 的 Main- 和 BackgroundThreading。对话框也有很棒的教程。您还应该查看 Android 设计指南。

于 2013-11-13T14:30:00.110 回答