2014-11-03 50 views
0

我有一個類DownloadPicture正在執行AsyncTask的方法。該課程不是class MainActivity extends Activity的子類。如何使用DownloadPicture方法顯示ProgressDialogs?我想我可以將MainActivity.this傳遞給課堂課堂,但是還有其他方法嗎?來自非MainActivity類的Android ProgressDialog用法

+0

有很多方法。但構造方式是安全的。 – 2014-11-03 06:21:16

+0

使用構造函數並將上下文傳遞給構造函數。如果你提供代碼片段,我可以更好地解釋 – Amy 2014-11-03 06:24:06

回答

1

試試這種方式,希望這會幫助你解決你的問題。

通過你的活動範圍內,以DownloadPicture類的構造函數和onPreExecute()初始化ProgressDialogs:

public class ProgressDialogs extends AsyncTask<Void,Void,Void>{ 

    private Context context; 
    private ProgressDialog progressDialog; 
    public ProgressDialogs(Context context){ 
     this.context=context; 
    } 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     progressDialog = ProgressDialog.show(context, "dialog title","dialog message", true); 

    } 

    @Override 
    protected Void doInBackground(Void... params) { 
     // do you background code here 
     return null; 
    } 

    @Override 
    protected void onPostExecute(Void aVoid) { 
     super.onPostExecute(aVoid); 
     if(progressDialog!=null && progressDialog.isShowing()){ 
      progressDialog.dismiss(); 
     } 
    } 
} 
0

使用接口從您的AsyncTask回調活動。你可以在你的活動中用ProgressDialog做任何事情。可以詳細解釋您是否可以提供代碼示例。

相關問題