我的活动需要很长时间才能加载,所以我希望当我单击"开始此活动"以显示加载消息时,例如(加载.....
这是启动此活动的按钮
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 加载?
如果您的活动 A 在单击时显示需要很长时间才能加载的活动 B,最常见的方法是:
-
在活动 B 布局视图中有一个进度条,并使其在活动 B 的创建中可见
-
所有长时间运行的操作都放在 asyncTask 或某个将在后台运行的服务中
-
长时间运行的操作完成时 - 通过将其可见性设置为 View.GONE 来更新进度条。
我会给你写一个代码,但由于我没有你的代码,我认为我能帮忙的最好方法是把你的问题分解成一个步骤。
daneejela提供了一个解决方案,但我确实认为您长时间启动MainActivity的原因是真正的问题,应该得到修复。
当您在 MainThread 中执行过多的块方法调用或类似操作时,活动将需要很长时间才能启动。尝试在后台线程中执行这些操作(您可以使用 AsyncTask)。这将导致立即启动活动。当你的AsyncTask工作时,你可以显示一点进度对话框,或者更好的是,在你的活动中的某个地方显示一个进度条,它不会阻止用户执行任何类型的操作。
你应该明确地理解Android的主线程和后台线程。还有很棒的对话框教程。您还应该查看Android设计指南。