Это может быть несколько вещей из того, что вы опубликовали.
Может случиться так, что модели Java не соответствуют JSON. Вам придется перепроверить это.
Может случиться так, что вы получите ошибку, в этом случае модификация не имеет response.body()
, а скорее response.errorBody()
. Вы можете проверить это путем отладки и проверки response.erroeBody().string()
.
Или это может быть классический пример асинхронного поведения, обрабатываемого как синхронное.
adapter=new DisplayAdapter(getApplicationContext(),result);
В этом случае выиспользуя result
, но он назначается внутри обратного вызова дооснащения, который, скорее всего, завершился после создания адаптера, и, следовательно, result
по-прежнему равен нулю.
Вы можете переместить создание адаптера и установить его в спискевнутри обратного вызова:
public void onResponse(Call<MovieResponse> call, Response<MovieResponse> response) {
if(response.isSuccessful())
{
result=response.body();
Log.e(TAG, "onCreate: "+result );
adapter=new DisplayAdapter(getApplicationContext(),result);
RecyclerView.LayoutManager layoutManager=new GridLayoutManager(getApplicationContext(),1);
movieList.setLayoutManager(layoutManager);
movieList.setAdapter(adapter);
}
}
Это единственное, что приходит на ум. Надеюсь, это поможет.