活动运行不显示视图

时间:2011-12-06 05:12:43

标签: android view android-asynctask splash-screen

我的应用程序中有一个启动画面,在对数据库进行一些插入时会显示启动图像,但启动活动jiust不会显示其视图,这是否发生在任何人身上?

    public class Splash extends Activity {

     private ChannelDB mDB;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main); 
        ImageView iv = (ImageView)findViewById(R.id.bg);
        mDB = new ChannelDB(this);

        try {
            createDataBase();
        } catch (Exception e) {
               Intent intent = new Intent(this,HDtvs.class); 
               e.printStackTrace();
               startActivity(intent);  
               this.finish(); 
               Log.d("Splash","createDataBaseException");
        }
    }

    public void createDataBase() throws Exception 
    {

           try{

           }catch (Exception e){
               Log.d("splash","data insert exception");
               e.printStackTrace();
               Intent intent = new Intent(this,HDtvs.class);  
               startActivity(intent);  
               this.finish(); 
           }
       }
    }
}


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@drawable/splash">

  <ImageView android:id="@+id/bg"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@drawable/splash"/>

</LinearLayout>
抱歉,错误的标题和说明,更正了,我没有使用asynctask,我只是把creatData的东西放在onCreate方法中,抱歉

2 个答案:

答案 0 :(得分:1)

如果要在后台创建数据库,请在新线程中运行,或将代码放在onresume中。在完全完成oncreate功能之前,不会加载视图。

答案 1 :(得分:0)

您的活动中没有声明任何启动画面代码,这就是您的图片未显示的原因,并且在1或2秒内您被重定向到另一个活动。