3
新手android開發在這裏。我在AsyncTask中遇到一些ProgressDialog問題。ProgressDialog上的主題使其全屏
我想在創建ProgressDialog時應用主題,但是當我應用它時,對話框將全屏顯示,並且我的活動被隱藏。當我在實例化中刪除主題時,這是正常的。
我只是想知道爲什麼。
這裏是我的課用的AsyncTask:
公共類同步{
private static AppManager app = AppManager.getInstance();
public void Synchronise() {
}
AsyncTask<Void, Void, Boolean> task = new AsyncTask<Void, Void, Boolean>() {
private ProgressDialog pd;
@Override
protected void onPreExecute() {;
pd = new ProgressDialog(app.m_AppContext, android.R.style.Theme_Black);
pd.setTitle("Veulliez patienter");
pd.setMessage("Synchronisation en cours...");
pd.setCancelable(false);
pd.setIndeterminate(true);
pd.show();
}
@Override
protected Boolean doInBackground(Void... arg0) {
try {
//Synchronisation
Thread.sleep(2000);
Log.d("DEBUG","sync en cours");
} catch (InterruptedException e) {
e.printStackTrace();
return false;
}
return true;
}
@Override
protected void onPostExecute(Boolean result) {
pd.dismiss();
if (result)
Toast.makeText(app.m_AppContext, "Synchronisation terminé avec succès", Toast.LENGTH_SHORT).show();
else
Toast.makeText(app.m_AppContext, "La synchronisation a échoué", Toast.LENGTH_SHORT).show();
Log.d("DEBUG","SYNC DONE");
}
};
public void startSync() {
if (app.m_bIsOnline)
task.execute((Void[])null);
else
Toast.makeText(app.m_AppContext, "Mode offline. Synchronisation impossible", Toast.LENGTH_SHORT).show();
}
}
感謝您的幫助。
嘗試設置不同的主題。 'android.R.style.Theme_Black'是主題上的一個變體,確保背景完全是黑色。 – Vikram
我嘗試了很多主題,例如'android.R.style.Widget_Holo_Light_ProgressBar_Small'。它不起作用:( – Bernie
嘗試'pd = new ProgressDialog(this,R.style.Theme_Black);'。 – g00dy