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