0

У меня возникли некоторые проблемы с ViewPager ...ViewPager с Json Object

Так что у меня JSONObject (World Weather Online), который имеет массив «Погода», содержащий 7 Чайлдс объекта, и каждый из этих объектов содержат одиночный массив «Hourly», который имеет 8 дочерних объектов.

Я хотел бы использовать массив «погода» и его 7 дочерних элементов, чтобы определить число экранов с прокруткой и отобразить дату в PageTitleStrip. И каждый из этих прокручиваемых представлений будет содержать ListView с 8 объектами, содержащимися в массиве «Hourly» в качестве элементов.

Я делаю это правильно с фиктивными данными с использованием массивов xml в значениях, но obvioulsy имеет проблемы с JsonObject.

Может ли кто-нибудь помочь и объяснить мне, как я мог бы достичь этого?

+0

Хороший вопрос, но вам нужно изучить JSON Parsing. –

ответ

0

Первый, вы должны проанализировать этот массив json для модели погоды, который имеет почасовые данные в каждом из них.

В вашем PagerAdapter вы должны переопределить getCount, которые возвращают размер массива модели.

Снова в вашем PagerAdapter вы также должны переопределить getItem, который возвращает WeatherFragment. Вам нужно передать одну из погодных моделей в WeatherFragment. Пожалуйста, проверьте использование Bundle с помощью фрагментов.

В вашем WeatherFragment у вас должен быть ArrayAdapter, чтобы заполнить ListView своими часовыми данными.

Ваш массив погоды должен быть одноточечным.

Удачи.

+0

Thx для объяснения шагов, которым нужно следовать! Так что я должен создать Weather Model, но должен ли я добавить в нее свою AsyncTask? – Makoto

+0

По какой-то причине Объекты пустые ... Откуда следует вызов AsyncTask execute() ?? Я сделал в конструкторе PagerAdapter, но, очевидно, он не работает – Makoto

+0

Первый, который вам нужен, чтобы получить данные и проанализировать их с JSON на Object в активности с AsyncTask. Всякий раз, когда ваш AsyncTask завершен (я имею в виду onResult), вы можете передать свою модель массива погоды в PagerAdapter внутри конструктора. Таким образом, вы можете переопределить этот конструктор по умолчанию. –