我正在使用AsyncTask类中的doInBackground()方法内部的函数调用 如何从功能中调用它。
请帮助。
我正在使用
// function name
private void getFilteredHeaderData(FilterHeaderTask obj) {
obj.onProgressUpdate("Updated Progress data ... ");
}
其中FilterHeaderTask是AsyncTask类名
在遇到obj.onProgressUpdate()行后,应用程序崩溃了;
来自AsyncTask的我的doInBackground()函数
protected String doInBackground(String... urls) {
getFilteredHeaderData(this);
return null;
}
答案 0 :(得分:0)
替换
obj.onProgressUpdate("Updated Progress data ... ");
带
publishProgress("Updated progress data .......");
已更新:
protected final void publishProgress(Progress... values){}
publishProgress()
具有受保护的访问权限,因此您无法从其他类调用。
答案 1 :(得分:0)
我找到了一个功能齐全的解决方案。 我用pdialog.setProgress(x);直接在被调用的方法中。
doInBackground中该方法的调用格式如下: int xx = class.method(some params ...,pdialog); //其中pdialog是在主线程中创建的ProgressDialog(pdialog = new ProgressDialog(this);)