我有活动需要很长时间才能加载所以当我点击开始此活动以显示加载消息(加载.....)
这是启动此活动的按钮
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加载?
答案 0 :(得分:0)
如果你有活动A点击显示活动B需要很长时间才能加载,最常见的方法是:
有一个进度条,并在活动B的onCreate中显示
所有长时间运行的操作都放在asyncTask或一些将在后台运行的服务中
长时间运行操作完成后 - 通过设置View.GONE的可见性来更新进度条。
我会给你写一个代码,但由于我没有你的代码,我认为我能帮助的最好方法是将你的问题分解为一个步骤。
答案 1 :(得分:0)
daneejela提供了一个解决方案,但我认为你长时间启动MainActivity的原因是真正的问题,应该得到解决。
当您在MainThread中执行过多的块方法调用或类似操作时,活动将花费很长时间。 尝试在后台线程中执行这些操作(可以使用AsyncTask)。这将导致活动立即启动。当您的AsyncTask正常工作时,您可以显示一点或更好的ProgressDialog,在您的Activity中显示一个ProgressBar,它不会阻止用户执行任何操作。
您应该明确了解Android的Main-和BackgroundThreading。 Dialogs也有很棒的教程。您还应该查看Android Design Guidlines。