Android 正在运行的活动未显示视图

Android 正在运行的活动未显示视图,android,view,android-asynctask,splash-screen,Android,View,Android Asynctask,Splash Screen,我的应用程序中有一个闪屏,在插入数据库时显示闪屏图像,但闪屏活动jiust不会显示其视图,有人发生过这种情况吗 public class Splash extends Activity { private ChannelDB mDB; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s

我的应用程序中有一个闪屏,在插入数据库时显示闪屏图像,但闪屏活动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>
公共类启动扩展活动{
专用信道数据库;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView iv=(ImageView)findViewById(R.id.bg);
mDB=新通道DB(本);
试一试{
createDataBase();
}捕获(例外e){
意向意向=新意向(此为HDTV.class);
e、 printStackTrace();
星触觉(意向);
这个;
Log.d(“Splash”,“createDataBaseException”);
}
}
public void createDataBase()引发异常
{
试一试{
}捕获(例外e){
Log.d(“飞溅”、“数据插入异常”);
e、 printStackTrace();
意向意向=新意向(此为HDTV.class);
星触觉(意向);
这个;
}
}
}
}

抱歉,标题和描述错误,已更正,我没有使用asynctask,我只是将creatData内容放在onCreate方法中,抱歉,您在活动中没有声明初始屏幕代码,这就是为什么您的图像没有显示,并且在1或2秒内,您将被重定向到另一个活动。

如果您希望在后台创建db,请在新线程中运行它,或者将代码放在onresume中。在oncreate函数完全完成之前,不会加载视图。

异步任务代码在哪里,它将在哪里调用下一个活动?异步任务在哪里运行?您可以添加异步任务代码吗?但我希望启动屏幕显示createdata进程运行时,不需要在其中添加同步或线程等待进程,对吗?在oncreate函数完全完成之前不会加载视图。我认为这就是问题所在,thx