你可以连使用回调调用:
OkHttpClient client = new OkHttpClient.Builder().build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL_WEBAPI)
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
mService = retrofit.create(IWebApi.class);
...
mService.first_operation(...params...).enqueue(callback);
回调是预期first_operation结果的类的实例。如果first_operation成功,则调用second_method。
public class Example implements Callback<void> {
@Override
public void onResponse(Response<LoginResponse> response) {
second_method();
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}
希望它有帮助。
编辑:
我使用ProgressDialog在真正indeterminated。您可以在呼叫服务之前立即显示,并在响应到达时隐藏在onResponse或onFailure方法中。
mProgressDialog = ProgressDialog.show(this, getString(R.string.wait_plaease),
getString(R.string.executing_action), true);