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

「returnnull;」を使用する必要があると思います。Void通常の「void」値の周りのクラスのように、単に「return;」の代わりに。

于 2012-10-03T09:45:19.393 に答える
5

オブジェクトと同様に、doInBackGroundnullを返します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に移ります。単純なリターンはこのフローを中断するため、エラーが発生します。これを解決するには、voidなのでreturnnullに置き換えます。returnステートメントのパラメーターはパラメーターとしてonPostExecuteに渡され、そこで使用して、成功したかどうかを確認できます。

于 2012-10-03T09:47:33.450 に答える
0

doInBackGroundnull値を返します

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

andoridの非同期タスクについては、このAndroid開発ドキュメントを確認してください

于 2012-10-03T09:46:53.090 に答える