Wie erreicht man das Anzeigen eines Fortschrittsbalkens bei jedem API-Aufruf Retrofit 2.0
, ohne dass in jeder Aktivität ein Fortschrittsbalken angezeigt werden muss, der angezeigt und abgelehnt wird. Fortschrittsbalken sollte zeigen, wann immer eine API getroffen wird, und es sollte entlassen werden, wenn wir eine Antwort auf onResponse
oder onFailure
erhalten.Wie wird die Progress Bar bei jedem Retrofit-API-Aufruf automatisch angezeigt?
Ich versuchte dies:
ProgressDialog mProgressDialog = new ProgressDialog(this);
mProgressDialog.setIndeterminate(true);
mProgressDialog.setMessage("Loading...");
mProgressDialog.show();
retrofitService.login(new SignInRequest(email, password),
new Callback<SignInResponse>() {
@Override
public void onResponse(Call<SignInResponse> call, Response<SignInResponse> response) {
if (mProgressDialog.isShowing())
mProgressDialog.dismiss();
}
@Override
public void onFailure(Call<SignInResponse> call, Throwable t) {
if (mProgressDialog.isShowing())
mProgressDialog.dismiss();
}
});
Aber dieser Code wird überall geklebt kopieren, wann immer ich einen API-Aufruf zu machen. Ich möchte keinen doppelten Code.
eine Basisaktivität machen, um all diese Arbeit zu erledigen? – Sourabh
Geben Sie ein Beispiel an .. –