2016-08-20 158 views
0

我有一個活動有ArrayList加載內容,並創建數據庫有onCreate()有超過20-30表。所以在顯示之前加載Activity需要3秒鐘的時間。我想在開始時植入一個進度條來處理該活動。這樣空白屏幕就不會出現,並且屏幕可能是活的。進度條加載活動或加載按鈕進度

回答

0

您的想法很好地向用戶顯示進度條。但對於需要使用AsyncTask的顯示器。

總是使用AsyncTask來處理這種類型的時間。它非常易於使用。創建類如下。

public class StoreDataToDB extends AsyncTask<Void, Void, Void> { 
    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     progressBar.setVisibility(View.VISIBLE); 
    } 

    @Override 
    protected Void doInBackground(Void... voids) { 
     //Do all DB related Task Here 
     return null; 
    } 

    @Override 
    protected void onPostExecute(Void aVoid) { 
     super.onPostExecute(aVoid); 
     progressBar.setVisibility(View.GONE); 
    } 
} 

在doInBackground方法中執行與任務相關的所有數據庫。調用這個類中的onCreate這樣

new StoreDataToDB().execute(); 

相反進度的查看您可以使用ProgressDialog也。

+0

非常感謝。它的工作和現在的應用程序很好。 –

+0

你有什麼方法在按鈕處理上實現它。我有一個按鈕,它從數據庫加載數據,它也是時間。這種方法也適用於此。?如果是,那麼如何在按鈕處理中使用這種方法。 –

+0

如果你想要實現的同一個類然後調用新的'StoreDataToDB()。execute();'onClick onClickListener'。或者你也可以創建不同的類並在onClickListener上調用它。 –