Android AsyncTask publishProgress外部类
是否可以从外部类调用AsyncTask的publishProgress方法? 我为下载文件编写了一个类:Android AsyncTask publishProgress外部类,android,class,android-asynctask,Android,Class,Android Asynctask,是否可以从外部类调用AsyncTask的publishProgress方法? 我为下载文件编写了一个类: public class ProgressDialogAsyncTask extends AsyncTask<Void, Long, Boolean> { protected Boolean doInBackground(Void... params) { HttpConnection.downloadFile(mContext,
public class ProgressDialogAsyncTask extends AsyncTask<Void, Long, Boolean> {
protected Boolean doInBackground(Void... params) {
HttpConnection.downloadFile(mContext,
HttpConnection.getFileLength());
...
}
}
公共类ProgressDialogAsyncTask扩展了AsyncTask{
受保护的布尔doInBackground(Void…params){
HttpConnection.downloadFile(mContext,
HttpConnection.getFileLength());
...
}
}
它可以工作(文件已下载),但我需要一个progressbar,这个进度是进入HttpConnection类的。
可以将publishProgress方法调用到HttpConnection类中吗
谢谢您必须在doInBackground()中调用publishProgress 然后向ProgressDialogAsyncTask添加另一个方法:onProgressUpdate()。无论何时在后台线程publishProgress()中调用,都会调用此函数…在ProgressUpdate()中,您可以调用进度条。。。HttpConnection.showProgress()或其他任何内容:) 例如:
public class ProgressDialogAsyncTask extends AsyncTask<Void, Long, Boolean> {
protected Boolean doInBackground(Void... params) {
int count = 0;
HttpConnection.downloadFile(mContext,
HttpConnection.getFileLength());
publishProgress(count);
...
}
protected void onProgressUpdate(Long...update) {
HttpConnection.showProgress(update[0]);
}
}
公共类ProgressDialogAsyncTask扩展了AsyncTask{
受保护的布尔doInBackground(Void…params){
整数计数=0;
HttpConnection.downloadFile(mContext,
HttpConnection.getFileLength());
出版进度(计数);
...
}
受保护的void onProgressUpdate(长…更新){
HttpConnection.showProgress(更新[0]);
}
}
ok,这不是我的情况,因为我需要在HttpConnection类(对于进度下载文件)中调用publishProgress。publishProgress只能从AsyncTask内部调用,其他任何操作都没有多大意义,对吗?您的代码是错误的,HttpConnection应该是您的AsyncTask,并且没有理由使用ProgressDialogAsyncTask…好的,我将更改方式,因为HttpConnection是从不同的类调用的