Форум программистов, компьютерный форум CyberForum.ru

Retrofit async не успевает загрузить данные - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Смена ориентации экрана перезапускает приложение http://www.cyberforum.ru/android-dev/thread1489620.html
Создаю на своем мобильном приложении. На очередном этапе заметил, что смена ориентации экрана как бы перезапускает приложение: отображаются исходные данные. После гугления выяснил, что при смене ориентации повторно запускается onCreate. Т.е. нужно сохранить данные и в нужный момент вставить необходимые значения в соответствующие элементы интерфейса. Проблема с практической реализацией запоминания...
Android Где используют сервис в андроид? Как и где нужно использовать сервисы ? http://www.cyberforum.ru/android-dev/thread1489604.html
Является ли репликацией вид системы Android
На устройстве, в базе, хранится информация до передачи на БД сервера можно ли хоть как-то соотнести такую систему к репликации? В тему по БД уже писал, молчат(
Android Сменить ориентацию экрана
здравствуйте, возможно ли заставить android загружаться в landscape если аппарат находится в portrait? я хочу чтобы определенное activity открывалось только в landscape . пользователь открывает activity находсь в portrait,я задаю setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); пользователь продолжает держать аппарат в portrait ,android нескольо раз проходит ...
Android Не отображаются карты Google Maps http://www.cyberforum.ru/android-dev/thread1489294.html
Здравствуйте, ребята. Есть такой вопрос: был разработан информационный продукт, поддерживающий геолокацию на основе Google Maps, тестирование проводилось на реальном устройстве через отладку. Дело дошло до генерации инсталляционного пакета .apk. Пакет сформировал, установил на телефон, всё работает, но почему-то перестала отображаться карта Google. Так вот в чем причина тут может быть?
Android Не работает команда stopService() Здравствуйте. Создаю приложение с сервисом в отдельном процессе. Запускаю сервис из активити командой startService(new Intent(this, AppService.class)) Процесс запускается, все хорошо. Но при попытке остановить сервис командой stopService(new Intent(this, AppService.class)) подробнее

Показать сообщение отдельно
Radzhab
12 / 12 / 0
Регистрация: 18.06.2011
Сообщений: 403

Retrofit async не успевает загрузить данные - Android

29.06.2015, 10:56. Просмотров 261. Ответов 1
Метки (Все метки)

Использую ассинхронные запросы. Ну в принципе оно и понятно почему данные не успевают отображаться в recyclerview). У меня есть класс ChesselistFragment. Я в конструкторе вызываю метод populateData, и он начинает собирать данные. Я бы хотел и recyclerview инициализировать в этом методе, но эт ж фрагмент. Как я смогу получить ViewGroup?

В общем.

1) Или мне нужно сделать синхронный запрос, обернув retrofit в AsyncTask (что не есть комильфо имхо. С таким же успехом я мог все сделать и просто http запросами)

2) Или мне нужно как то получить ViewGroup фрагмента, до его onCreateView, что звучит абсурдно) Надеюсь гуру помогут советом

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
private void populateData(int currentPage) {
 
        restClient = new RestClient();
        restClient.getNewsService().getNews(currentCategory,currentPage, new Callback<List<ApiResponse>>() {
        @Override
        public void success(List<ApiResponse> apiResponse, Response response) {
 
            for (int i=0; i<apiResponse.size(); i++){
                Log.e("Axixa", String.valueOf(apiResponse.get(i).getId()));
                News news = new News(
                        apiResponse.get(i).getId(),
                        apiResponse.get(i).getTitle(),
                        apiResponse.get(i).getPreviewImage(),
                        apiResponse.get(i).getDate());
                hs.add(news);
 
            }
            if (lNews.size()>0) page++;
            lNews.clear();
            lNews.addAll(hs);
 
            init();
        }
 
        @Override
        public void failure(RetrofitError error) {
 
        }
    });
}
 
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 
rootView = inflater.inflate(R.layout.fragment_cheese_list, container, false);
 
mLinearLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView = (RecyclerView) rootView.findViewById(R.id.recycleralda);
 
mRecyclerView.addItemDecoration(new SimpleDividerItemDecoration( // Добавление разделителя
        getActivity()
));
 
mRecyclerView.setLayoutManager(mLinearLayoutManager);
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
if (page==0){
    mRecyclerviewAdapter = new RecyclerViewAdapter(lNews, getActivity());
    mRecyclerView.setAdapter(mRecyclerviewAdapter);
 
}
 
 
      return rootView;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru