android - 如何等待 Activity 完全加载?

标签 android

我正在做一个 Activity ,我计划在其中显示一个进度条并在五秒后转到第二个 Activity 。我用 Thread.sleep 来做到这一点。 这是微调器 Activity 的代码。

public class WaitScreen extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.waitscreen);
    }

    @Override
    public void onStart() {
        // TODO Auto-generated method stub
        super.onStart();

        try{
            for(int i=0;i<5;i++){
                Thread.sleep(1000);
            }
            Toast.makeText(getApplicationContext(), "Spinner complete!", Toast.LENGTH_LONG).show();
        }
        catch(InterruptedException e){

        }
        Intent i = new Intent("emergency.app.NEWACTIVITY");
        startActivity(i);
    }
}

我的主要 Activity 只有一个按钮,点击后会转到此页面。问题是,它显示主要 Activity 五秒钟,然后这个 Activity 非常短暂,然后是第三个 Activity 。如何在 WaitScreen 完全加载后启动线程?如您所见,我尝试使用 onStart 方法来实现这一目的。或者,如果您能告诉我另一种引入五秒延迟的方法,那也会很有帮助!

最佳答案

使用Handler 发布Runnable,如下所示:

public class WaitScreen extends Activity {

    private Runnable task = new Runnable() { 
        public void run() {
            Toast.makeText(getApplicationContext(), "Spinner complete!", Toast.LENGTH_LONG).show();
            Intent i = new Intent("emergency.app.NEWACTIVITY");
            startActivity(i);
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.waitscreen);

        Handler handler = new Handler();
        handler.postDelayed(task, 5000);
    }
}

Runnable task 将在 5 秒后执行。

http://developer.android.com/reference/android/os/Handler.html

关于android - 如何等待 Activity 完全加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17427785/

相关文章:

android - Kivy:如何更改窗口大小属性以及点击和触摸之间的区别

android - 如何从android项目外部读取文件/图像

android - 为什么操作栏后退按钮设计被打破

java - 在没有手势生成器的情况下添加手势

android - 制作视频合并移动应用程序的最佳方法

java - 如何固定Android中Button的位置

java - Android - 在本地配置文件中存储一些设置

android - 如何将依赖项注入(inject)嵌套的android fragment ?

android - 如何获取屏幕打开的时间

android - 如何通过共享 Intent 限制应用程序可以接收的文件数量