2012-01-16 91 views
2

我需要創建一個轉換屏幕,或者只是放置一個對話框,因爲應用程序在創建數據庫時會給出黑屏。在活動之間進行轉換

我有谷歌,並找到一些解決方案。其中一個就是在創建數據庫時放置一個進度對話框。

我的問題和新手問題是,我在哪裏把進度對話框。

A - > BlackScreen - > B其中A是正式菜單,B是另一個屏幕。我試圖把對話框放在A和/或B中,而不工作。那麼我可以在哪裏放置進度對話框的代碼,以便在BlackScreen中顯示?

回答

1
For that You have to use Async task : 

class DownloadAsyncTask extends AsyncTask<String, String, Void> 
    { 

     ProgressDialog progressDialog; 


     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      progressDialog = ProgressDialog.show(Login.this, "", "Please Wait ..."); 
     } 



     @Override 
     protected Void doInBackground(String... arg0) { 

      //Do your Task 
     } 

     @Override 
     protected void onProgressUpdate(String...values){ 
      super.onProgressUpdate(values); 




     } 

     @Override 
     protected void onPostExecute(Void result){ 
      super.onPostExecute(result); 
      progressDialog.dismiss(); 
     } 

    } 

//創建對象

DownloadAsyncTask downloadAsyncTask =新DownloadAsyncTask( ); downloadAsyncTask.execute();

現在,直到您的工作得到完成它顯示doInbackground內的進度對話框編寫您的邏輯和onPostExecute關閉對話框並調用其他Activity的Intent。

+0

我想去嘗試一下。謝謝mayur。 – filoli

2

利用Asyntask。放在前執行中asyntask創建數據庫的數據庫開始運行後的對話框執行取消對話框在後臺執行數據庫操作

http://developer.android.com/reference/android/os/AsyncTask.html

+0

我嘗試過,與Asyntask。但就像我說的那樣,我是一個新手,並不知道如何去做。閱讀了很多關於AsyncTask的知識,但沒有設法使它工作。所以我想到了一個簡單的進度對話框。但那有可能嗎?順便說一下,在黑屏中放置一個進度對話框?謝謝 – filoli

+0

如果您直接顯示對話框並執行數據庫操作,您將進度對話框並且屏幕將掛起。你必須在後臺執行該操作 –

+0

好的....所以它必須在後臺,沒有其他方式來做到這一點。謝謝你ud_an。 – filoli