我的呼叫已执行,但未触发onResponse或onFailure方法 返回的Json对象在
中有一个图像这是我的交互器类中的代码
private ExamApi initiateRetrofit() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
return retrofit.create(ExamApi.class);
}
public void getExamImage(String user, String token,String exId, String exDocId) {
if (examApi == null) initiateRetrofit();
Call<ResponseBody> call = examApi.getExamImage(user,token,exId,exDocId);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
listener.onImageSuccess(response.body());
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
//TODO ONFAILURE
//listener.onImageFailure();
listener.onFailure();
}
});
}
这是我的examApi
@GET("mobile/getExamImage")
Call<ResponseBody> getExamImage(
@Query("user") String username,
@Query("token") String token,
@Query("exid") String exId,
@Query("edid") String exDocId
);
答案 0 :(得分:1)
这种情况正在发生,因为您正在对改造进行异步调用。您甚至在网络调用发生之前尝试捕获数据。这会给你一个null结果。尝试使用广播接收器或EventBus等第三方库广播结果,这将使您的结果在网络呼叫发生后可用。