5

谁能告诉我这里出了什么问题?

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() 只需执行其中编写的代码。

提前致谢!

4

5 回答 5

16

只返回null。

public class BackgroungTask extends AsyncTask<String, Void, Void> {

    public Void doInBackground(String... params) {
       //tasks
       return null; 
    }

    public void onPostExecute(Void result) {
        //codes
    }
}
于 2012-10-03T09:49:59.733 回答
6

我认为你必须使用“return null;” 而不仅仅是“return;”,就像Void一个围绕通常“void”值的类。

于 2012-10-03T09:45:19.393 回答
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
}
} 
于 2012-10-03T09:47:18.433 回答
4

AsyncTask 像这样工作

onPreExecute -> doInBackGround -> onPostExecute

忽略progressUpdates 等,一旦doInBackGround 完成,控制就转到onPostExecute。简单的返回会中断此流程,从而导致错误。要解决这个问题,请用return null替换,因为它是无效的。return 语句参数作为参数传递给 onPostExecute,你可以在其中使用它来查看它是否成功。

于 2012-10-03T09:47:33.450 回答
0

doInBackGround返回空值

public class BackgroungTask extends AsyncTask<String, Void, Void> {
 ....
 ....
}

检查此Android 开发文档以了解 andorid 中的异步任务

于 2012-10-03T09:46:53.090 回答