2011-12-06 20 views
0

私のアプリケーションには、データベースへの挿入中にスプラッシュイメージを表示するスプラッシュ画面がありますが、スプラッシュアクティビティはそのビューを表示しません。アクティビティの実行中ビューが表示されない

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を使用していない、私はちょうどのonCreateメソッドでcreatDataのものを入れて、申し訳ありません

+1

AsyncTaskコードはどこにありますか?また、次のアクティビティはどこで呼び出されますか? – havexz

+0

AsyncTaskはどこで実行されていますか? – user370305

+1

非同期タスクコードを追加できますか? – Mal

答えて

1

db作成をバックグラウンドで実行するには、新しいスレッドで実行するか、コードをonresumeに入れます。 oncreate関数が完全に完了するまで、ビューはロードされません。

+0

oncreate関数が完全に完了するまで、ビューはロードされません。それは問題だと思う、thx – oratis

0

あなたが宣言した無スプラッシュスクリーンコードはありませんあなたの活動、それはあなたのイメージが表示されない理由であり、1〜2秒以内に別の活動にリダイレクトされます。

+0

と記述していますが、createdataプロセスが実行されている間にスプラッシュ画面が表示されるようにするには、同期またはスレッド待機プロセスを追加する必要はありません。 – oratis

関連する問題