Лично я переопределяю Callback<T>
это дает вам возможность включить все пользовательские события, которые вы хотите вызвать как.
public abstract class RetryCallback<T> implements Callback<T> { ... }
Если вы хотите услышать только по завершении загрузки, этого достаточно, достаточно скелета.Но убедитесь, что из вашего onResponse
или onFailure
не возникло какое-то исключение.Я часто видел переход без уведомления, когда возникает какое-то исключение.Упакуйте свой код внутри try-catch
и посмотрите, не является ли это проблемным случаем.
public void onResponse(Call<T> call, Response<T> response) {
if(!response.isSuccessful()){
// ....
loadingComplete();
return;
}
// ...
loadingComplete();
}
@Override
public void onFailure(Call<T> call, Throwable t) {
// ...
loadingComplete();
}