Использую асинхронные вызовы. И у меня возник вопрос. Я использую ProgressDialog. Дело в том что, если один вызов, то он идеально работает. А если я вызываю несколько, то он закрывает после первого. Понятно что благодаря этому коду dialog.dismiss();. Как сделать так, чтоб все запросы привязать к одному ProgressDialog. Если какие фрагменты кода надо, пишите скину.
public void generateYkrepClan(ApiService api, final ProgressDialog dialog, final String id_clan) {
Call
if (response.isSuccessful()) {
try {
list = response.body().string();
Log.e("EWQ", list);
clan_dannie.setYkrep(generateDannieClan.getYkrep(list));
// clan_dannie.setDannieCoklanovzas(generateDannieClan.generatePersonallyDanieClan(list, dannieClanNew));
} catch (IOException e) {
e.printStackTrace();
}
} else {
Snackbar.make(parentView, "kek", Snackbar.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call
}
Ответ
Можно воспользоваться RxJava
Api.java
public interface Api {
@GET("/api.php")
Flowable
Простой запрос
Flowable
Два последовательных запроса:
Flowable
Два параллельных запроса:
Flowable
Второй запрос на основе результата из первого:
Flowable
Выполнить:
flowable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new FlowableSubscriber
@Override
public void onNext(Response
@Override
public void onError(Throwable t) {
//Ошибка
}
@Override
public void onComplete() {
//Убрать диалог
}
});
Комментариев нет:
Отправить комментарий