0
私の英語は最善ではないので、事前に謝ります。メソッドの実行は非同期メソッドの応答に依存します
私の状況は、私はAndroidアプリを、次の開発していて、私は非同期タスクを持っている、とdoInBackground方法に次のコードを持っている:だから、方法 "getFirebaseUserChannelsを
@Override
protected Boolean doInBackground(String... params) {
getFirebaseUserChannels(new ResultListener<List<Channel>>() {
@Override
public void finish(List<Channel> firebaseUserChannels) {
if (firebaseUserChannels.isEmpty()) {
getFirebaseChannels(new ResultListener<List<Canal>>() {
@Override
public void finish(List<Channel> firebaseChannels) {
saveChannelsSQLDatabase(firebaseChannels);
saveChannelsFirebaseDatabase(firebaseChannels);
}
});
} else {
saveChannelsSQLDatabase(canalesUsuarioFB);
}
}
});
return true;
}
を "は、応答でリストをスローする非同期メソッドであり、そのリストを使用する準備ができたらそれを評価して使用する必要があります。 ご存じのように、javaはasyncメソッドを実行し、が返るまでまで続きます。
すべての非同期メソッドの実行が終了するまで、「doInBackground」が実行を継続しないようにします。
だから、どうすればいいですか?どのようにこの状況を管理する最良の方法はありますか?