class SyncAsset extends AsyncTask
class ReIndexDialog extends DialogFragment
ReIndexDialog 是一個繼承 DialogFragment 物件
SyncAsset是一個繼承AsyncTask物件, 運用時常會以 progress dialog
來顯示程序處理的進度.
如果運用在 DialogFragment 內, 顯示一個 ProgressDialog
但如果在 onCreateDialog中show出 progressDialog, 則因rotate screen
會使onCreateDialog 再次執行,導致顯示一個空 progressDialog 的錯誤.
所以將prgDialog.show();
移到 SyncAsset的constructor中執行
protected Dialog onCreateDialog(int id, Bundle args) {
switch (id) {
case 0:
//將以下這段移到 SyncAsset的constructor中執行
prgDialog = new ProgressDialog(this);
prgDialog.setMessage("");
// true 會顯示一個閃爍的進度條
// prgDialog.setIndeterminate(false);
// prgDialog.setMax(100);
prgDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
prgDialog.setCancelable(false);
prgDialog.show();
return prgDialog;
default:
return null;
}