Android Activity应用之 两次调用setContentView

来源:互联网 发布:做淘宝刷好评要交钱吗? 编辑:程序博客网 时间:2024/06/11 03:04

在做Android开发的时候,有时候需要在一个Activity的里面调用两次setContentView方法。比如在应用启动的时候,开始显示欢迎界面,在显示欢迎界面的同时,进行后台数据的处理,等到后台数据准备好了,才显示真正的应用界面。这样的做法不会让使用者有突兀的感觉。反之,应用已启动就显示真正的应用界面,但在后续的操作需要准备数据的时候,假定是5秒钟,那么在这5秒钟内使用者将无法使用该应用,这样用户界面显然是不够友好的。

 

为了实现欢迎界面,大家很自然地就会想到:在onCreate方法中,调用两次setContentView。是的,要调用两次setContentView,但怎么调用还是有点技巧,而不是简单地调用两次setContentView就可以解决问题的。下面,我们就用实际的例子来给予说明。

下面来完善WelcomeActivity.java的代码,如果我们像下面这样直接写:package com.pat.welcome;import android.app.Activity;import android.os.Bundle; public class WelcomeActivity extends Activity{       @Override       public void onCreate(Bundle savedInstanceState)       {            super.onCreate(savedInstanceState);            //setContentView(R.layout.main);    // 把这一句改为下面一句,用以显示欢迎界面            setContentView(R.layout.welcome);                   // 下面是模拟数据处理需要5秒钟的时间            try            {                    Thread.sleep(5000);            }            catch (InterruptedException e)            {                    e.printStackTrace();            }            setContentView(R.layout.main);                  // 显示真正的应用界面       }}


0 0