В интерфейсе службы API ваш ответ должен быть классом Response_Pojo
вместо List<Response_Pojo>
, как показано ниже:
public interface Api {
@GET("top-headlines?sources=abc-news&apiKey=4969854e2d424ed9972370f709ace9cc")
Call<Response_Pojo> getAllResponse();
}
Также необходимо соответствующим образом изменить код API вызова.
MainActivity.class:
private void loadJSON_Data() {
RetofitClient_SingleTone
retofitClient_singleTone=RetofitClient_SingleTone.getInstance();
Api api = retofitClient_singleTone.getApi();
Call<Response_Pojo> call = api.getAllResponse();
call.enqueue(new Callback<Response_Pojo>() {
@Override
public void onResponse(Call<Response_Pojo> call,
Response<Response_Pojo> response) {
if (response.isSuccessful()) {
Toast.makeText(context, "Success" + response.body().getArticles().size(),
Toast.LENGTH_SHORT).show();
Log.e("Home - --", "onResponse: " + response.body());
swipeRefreshLayout.setRefreshing(false);
}
}
@Override
public void onFailure(Call<Response_Pojo> call, Throwable t) {
Log.e("Home Failed - -", "Failed: " + t.getMessage());
Toast.makeText(context, "Faield - - " +t.getMessage(),
Toast.LENGTH_SHORT).show();
swipeRefreshLayout.setRefreshing(false);
}
});
}
Пожалуйста, обновите код соответствующим образом, я не редактировал его в IDE.
Получите список из ответа, используя следующий код внутри onResponse метод:
@Override
public void onResponse(Call<Response_Pojo> call,
Response<Response_Pojo> response) {
if (response.isSuccessful()) {
list = response.body().getArticles() // get the list from here
}