如何在其他活动加载之前显示加载消息或对话框,因为这需要很长时间-android-

如何在其他活动加载之前显示加载消息或对话框,因为这需要很长时间-android-,android,page-loading-message,Android,Page Loading Message,我有一个活动需要很长时间才能加载,所以我希望在单击“开始此活动”时显示加载消息,如(正在加载…) 这是启动此活动的按钮 start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent =

我有一个活动需要很长时间才能加载,所以我希望在单击“开始此活动”时显示加载消息,如(正在加载…)

这是启动此活动的按钮

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

        }
    });

那么,在加载Main activity之前,我应该在这里编写什么代码来显示此加载消息呢?

如果您的activity A在单击时显示的activity B加载时间很长,最常见的方式是:

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

  • 所有长时间运行的操作要么放在异步任务中,要么放在后台运行的服务中

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


我会给你写一段代码,但既然我没有你的代码,我想我能帮你的最好办法就是把你的问题分解成几个步骤

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

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


您应该明确了解Android的主线程和后台线程。还有一些很棒的对话教程。您还应该查看Android设计指南。

请提供MainActivity中的代码。使用AsyncTask,在preExecute()上创建进度对话框,在postExecute()上取消