@newdancer

Как вызвать Callback() с фрагмента для Retrofit?

Как вызвать Callback() с фрагмента для вызова интерфейса вызова Retrofit?
В фрагменте в onCreateView прописал:
// Создаем адаптер с базовым адресом
        RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint(SOURCE).build();
        // Создаём сервис
        API api = restAdapter.create(API.class);
        api.getCinema(API_TOKEN, new Callback() {
            @Override
            public void success(KinoModel kinoModel, Response response) {
                // Получаем ввиде json и конвертируем
                cinemas.add(new Cinema(kinoModel.getTitleRU()));
            }
            @Override
            public void failure(RetrofitError error) {
                Log.d("myLogs", "Failed!!!");
            }
        });

сам интерфейс выглядит так:
public interface API
{
    @GET("/serial_updates.json")
    void getCinema(@Query("api_token") String api_token, Callback response);
}

выдает ошибку на Calback():
is not abstract and does not override abstract method success(Object,Response) in Callback
  • Вопрос задан
  • 1142 просмотра
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Callback - это дженерик. Вы его не параметризовали
new Callback<KinoModel>(){ ... }
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
TranE91
@TranE91
Senior Android Engineer
Настоятельно рекомендую заранее переходить уже на Retrofit2.
Ответ написан
@newdancer Автор вопроса
в каком формате получает retrofit результат когда массив updates???
попробовал сделать так
@Expose
private List<Upd> updates;
public List<Upd> getUpdates()
{
return updates;
}
public class Upd {
@SerializedName("title_ru")
private String title_ru;
}

результат получается в виде кода типа: название пакета$Upd@85d2ea1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы