簡體   English   中英

在AsyncTask android中下載進度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM