我試圖從AsyncTask顯示ProgressDialog,但沒有顯示...如果我刪除PostExecute的'dialog.dismiss()',這個任務就像一個'post()',它顯示任務結束時的對話框。我越來越瘋狂了!無法顯示從AsynkTask的ProgressDialog
private static class Experimento extends AsyncTask<String, Void, String>
{
ProgressDialog dialog;
@Override
protected void onPreExecute()
{
super.onPreExecute();
dialog = new ProgressDialog(Config.getCurrent_Context());
dialog.setMessage("Cargando...");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
}
protected String doInBackground(String... params)
{
try
{
Config.getCurrent_Context().runOnUiThread(new Runnable()
{
@Override
public void run()
{
try
{
//Work, work, work...
}
catch(Exception e)
{
e.printStackTrace();
}
}
});
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String result)
{
super.onPostExecute(result);
dialog.dismiss();
}
}
現在試圖給活動的構造函數,但仍然沒有工作...
private static ProgressDialog dialog;
public Experimento(Activity act)
{
Log.w("Experimento", "Experimento");
dialog = new ProgressDialog(act);
dialog.setMessage("Cargando...");
dialog.setCancelable(false);
dialog.show();
}
@Override
protected void onPreExecute()
{
super.onPreExecute();
}
你的任務已經結束對話框顯示之前。這太短了看不到。你爲什麼要開始一個調用來執行doInBackground中的所有ui線程?沒有意義。 – greenapps
嘗試從doInBackground()中的runOnUiThread中刪除代碼,並直接在doInBackground() – Meenaxi
中寫入代碼,該任務的作用類似於'post()'這意味着什麼? –