SyncEの質問は非常に一般的で、何のカスタムコードを提供していない、私は "一般的な解決策" 掲載します:それは設定ExampleOperation 2、のため
boolean isStep1Done = false;
boolean isStep2Done = false;
private class ExampleOperation extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
Thread.sleep(1000);
return "Completed";
}
@Override
protected void onPostExecute(String result) {
isStep1Done = true;
continueLogic();
}
@Override
protected void onPreExecute() {}
@Override
protected void onProgressUpdate(Void... values) {}
}
同じことをisStep2Doneをtrueに設定します。 次に、それらがシーケンシャルである場合、独立している場合は、それぞれcontinueLogic()
と呼びます。この機能の最初のステップでは、すべてのフラグをチェックします。
private void continueLogic(){
if(isStep1Done && isStep2Done){
stuffs...
}
}
onFinishedメソッドでカスタムリスナー(インターフェイス)を使用し、postExecuteでそれを呼び出します。あなたは2つのasynksを行う必要があるので、2回する必要があります(または同じdoInBackgroundで両方のリクエストを実行してください) – user6547359
"step completion"ごとにフラグを設定するか、[Future](https:// developer .android.com/reference/java/util/concurrent/Future.html) – Bonatti
@Bonattiどうしたらいいですか? –