加载所有内容后启动android活动

时间:2014-09-22 21:56:10

标签: android android-activity splash-screen oncreate

我在onCreate(MainActivity)中有一个闪屏图像。

我希望图像保留到第二个活动(URL-Browser)完成加载。

有没有办法预先执行它并在几秒钟后加载。

我看到的所有示例都有一个启动画面,运行几秒钟,然后启动第二个活动,但不是预执行。

我该怎么做?

3 个答案:

答案 0 :(得分:0)

您应该开始实际活动并在启动画面中显示您使用的图像,而不是只有一个图像(可能是您当前的启动画面)的启动画面。加载完所有内容后,您就可以从主活动中删除图像。

答案 1 :(得分:0)

您可以使用异步任务; 这是一个例子;

private AsyncTask<String, Integer, String> xTask = new AsyncTask<String, Integer, String>() {
    @Override
    protected String doInBackground(String... strings) {
        //you can just sleep a while to show your splash
        return null;
    }

    @Override
    protected void onPostExecute(String s) {
        //do something as the execution completed, you can launch your real activity.
    }
};

以及关于你的活动onResume

@Override
public void onResume() {
    if(xask.getStatus().equals(AsyncTask.Status.PENDING)) xTask.execute();
    super.onResume();
}

答案 2 :(得分:0)

或者,在活动中加载一个显示启动画面的片段。让片段使用异步任务加载您需要加载的任何内容。在来自异步任务的回调中,卸载启动屏幕片段并加载一个新片段,其中包含您需要显示的内容。