有谁能告诉我这里出了什么问题?
public class BackgroungTask extends AsyncTask<String, Void, Void> {
public Void doInBackground(String... params) {
//tasks
return; //error occurs here!
}
public void onPostExecute(Void result) {
//codes
}
}
上述类不依赖于返回值。所以onPostExceute()只是执行那里写的代码。
提前致谢!
答案 0 :(得分:15)
只返回null。
public class BackgroungTask extends AsyncTask<String, Void, Void> {
public Void doInBackground(String... params) {
//tasks
return null;
}
public void onPostExecute(Void result) {
//codes
}
}
答案 1 :(得分:6)
我认为你必须使用&#34;返回null;&#34;而不只是&#34; return;&#34;,因为Void
是一个围绕平常&#34; void&#34;值。
答案 2 :(得分:5)
在doInBackGround
中返回null,因为Void
是一个对象(不是= void)..
public class BackgroungTask extends AsyncTask<String, Void, Void> {
public Void doInBackground(String... params) {
//tasks
return null; //error occurs here!
}
public void onPostExecute(Void result) {
//codes
}
}
答案 3 :(得分:4)
AsyncTask就像这样工作
onPreExecute - &gt; doInBackGround - &gt; onPostExecute
忽略progressUpdates等,doInBackGround完成后,控制转到onPostExecute。简单的返回会中断此流程,从而导致错误。要解决此问题,请替换为 return null ,因为它是一个空白。 return语句参数作为参数传递给onPostExecute,您可以使用它来查看它是否成功。
答案 4 :(得分:0)
doInBackGround
返回空值
public class BackgroungTask extends AsyncTask<String, Void, Void> {
....
....
}
在fororid
中检查此Android dev doc是否有异步任务