【发布时间】:2016-06-03 18:48:54
【问题描述】:
如何实现在每个Retrofit 2.0 API 调用上显示一个进度条,而不必在每个活动中创建一个进度条,显示它并关闭它。进度条应该无论何时显示一个 API,当我们收到对 onResponse 或 onFailure 的响应时它应该关闭。
我试过这个:
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();
}
});
但是每当我进行 API 调用时,这段代码都必须复制粘贴到任何地方。我不想要重复的代码。
【问题讨论】:
-
创建一个基础活动来完成所有这些工作?
-
请举个例子..
-
使用基本回调或拦截器
标签: android android-progressbar retrofit2