几秒后进行屏幕切换(线程/意图) - Android

时间:2012-03-31 21:03:21

标签: android android-intent

我正在尝试制作一种方法,在单击按钮时,它将显示布局。 几秒钟后,我想要显示一个新的活动/布局。

有关如何做到这一点的任何建议??

2 个答案:

答案 0 :(得分:8)

我建议不要等待UI线程。

您可以使用Handler作为任务。 run方法将在创建Handler的同一个线程中执行:

    //delay in ms
    int DELAY = 1000;

    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {            
        @Override
        public void run() {
            Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
            startActivity(intent);                  
        }
    }, DELAY);

答案 1 :(得分:-1)

在此延迟期间,UI是否需要执行任何操作?如果没有,您可以使用:

Thread.sleep(timeToWaitInMilliseconds);

在按钮的处理程序中。这将停止UI线程几秒钟,但是,在延迟期间,您的UI将“冻结”。

稍微好一点的选择是使用AsyncTask和Handler这是一个新线程,并使该线程在您想要延迟新活动开放然后在处理程序中打开新活动时休眠。

我认为asynctask对你的情况更好一点,因为它允许用户在你的“延迟”期间与UI进行交互。

有关AsyncTasks的更多信息:

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