2011-11-24 119 views
0

我在我的自定义对话框中使用AsyncTask。 AsyncTask在活动中正常工作,但内部对话框不显示ProgressDialog。 尝试从对话框,显示对话框,应用上下文的活动中执行privid上下文。 结果相同:没有ProgressDialog显示在我的屏幕上。AsyncTask在对话框中不显示ProgressDialog

private class ClearCache_Task extends AsyncTask<Integer,Integer,Integer> 
{ 
private ProgressDialog progressBar; 
private ArrayList<String> m_subfolders; 
private final Context m_con; 

public ClearCache_Task(Context con, ArrayList<String> subfolders) 
{ 
     m_con = con; 
     m_subfolders = subfolders; 
    } 

    @Override 
    protected void onPreExecute() 
    { 
     super.onPreExecute(); 
     progressBar = new ProgressDialog(m_con); 
     progressBar.setIndeterminate(true); 
     progressBar.setCancelable(false); 
     progressBar.setMessage("Please wait..."); 
     progressBar.show(); 
    } 
    @Override 
    protected void onPostExecute(Integer result) 
    { 
     super.onPostExecute(result); 
     progressBar.dismiss(); 
    } 
    @Override 
    protected Integer doInBackground(Integer... params) 
    { 
     try 
     { 
      m_KFileStorage.ClearCache(m_subfolders); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
      Log.e(AppTag, e.toString()); 
     } 
     return 0; 
    } 
+3

请发布您的AsyncTask的代码。 – kaspermoerch

+0

如果执行onPreExcute,您是否检查过debuger? –

回答

0

对不起题。 我错误地调用旧代码而不是调用asynctask。:)

0

如何将对话框连接到活动?

这就是我做的:

在活动时间:

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
     case DIALOG_PROGRESS: 
      mProgressDialog = new ProgressDialog(this); 
      mProgressDialog.setMessage(Application.string(R.string.dialog_message) + "..."); 
      mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
      mProgressDialog.setCancelable(true); 
      mProgressDialog.show(); 
      return mProgressDialog; 
     default: 
      return null; 
    } 
} 

在的AsyncTask:

@Override 
protected void onPreExecute() { 
    super.onPreExecute(); 
    mActivity.showDialog(DIALOG_PROGRESS); 
} 
可以在这里阅读

有关对话框的详细信息:http://developer.android.com/guide/topics/ui/dialogs.html

+0

我发现错误:)我忘了更换m_KFileStorage.ClearCache(在我的代码中使用新的ClearCache_Task()。execute():) – Kostadin