[英]Downloading progress in AsyncTask android
我正在嘗試創建下載進度。 我的類擴展了AsyncTask: public class DownloadFileTask擴展了AsyncTask
下載開始時我想創建進度:
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(whatContext);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
progressDialog.show();
}
但我不知道我應該給新的ProgressDialog什么上下文因為我不在Activity類。 我試着給出一些上下文,但是有一個錯誤:
在范圍內無法訪問Main_Tab類型的封閉實例
那我怎么能創造這個進步呢?
此外,我想創造進步不在這個類(因為我想要單獨的功能和設計),但我不知道如何做到這一點。
謝謝你們的幫助。
public class DownloadFileTask extends AsyncTask{
Context mContext;
public DownloadFileTask(Context context) {
this.mContext = context;
}
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(mContext);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
progressDialog.show();
}
}
要啟動DownloadTask調用就好
DownloadFileTask task = new DownloadFileTask(MyActivity.This);
task.execute();
您應該為AsyncTask
創建一個構造函數,它將Context
對象作為參數,例如:
public DownloadFileTask(Context context) {
this.context = context;
}
然后,您可以使用context
字段初始化ProgressDialog
。 關於第二個問題 - 沒有足夠的信息來回答它。 希望這可以幫助。
我想將上下文傳遞給您自定義的AsyncTask Loaders的構造函數可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.