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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
PhantomR
5 / 5 / 0
Регистрация: 04.02.2016
Сообщений: 74
#1

RSS reader by XmlPullParser + Listview - Android

16.08.2016, 15:01. Просмотров 233. Ответов 11
Метки нет (Все метки)

Написал программу для чтения RSS: https://github.com/PhantomRec/RSS

Всё работает, но проблема в том, что показывает 5-7 тем, далее темы повторяются, но почему-то в хаотическом порядке. При этом парсит все заголовки и все картинки, что видно из логов (RSSParser). Не могу понять в чём причина. Кто поможет? где ошибка?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
17.08.2016, 09:04     RSS reader by XmlPullParser + Listview #2
PhantomR, причина по всей видимости в переиспользовании элементов ListView
PhantomR
5 / 5 / 0
Регистрация: 04.02.2016
Сообщений: 74
17.08.2016, 09:09  [ТС]     RSS reader by XmlPullParser + Listview #3
Что вы имеете ввиду? Заменить на Recycler View?
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
17.08.2016, 09:10     RSS reader by XmlPullParser + Listview #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
PhantomR, ну собственно говоря, как я и предполагал, вот этот участок кода, который обуславливает такое поведение:
Java
1
2
3
4
if (convertView == null) {
    ....
}
return convertView;
Добавлено через 1 минуту
Цитата Сообщение от PhantomR Посмотреть сообщение
Что вы имеете ввиду? Заменить на Recycler View?
Не обязательно менять на Recycler View, надо просто нормально реализовать адаптер.
PhantomR
5 / 5 / 0
Регистрация: 04.02.2016
Сообщений: 74
17.08.2016, 09:11  [ТС]     RSS reader by XmlPullParser + Listview #5
Я так понимаю просто убрать это условие будет недостаточно?
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
17.08.2016, 09:12     RSS reader by XmlPullParser + Listview #6
Цитата Сообщение от PhantomR Посмотреть сообщение
Я так понимаю просто убрать это условие будет недостаточно?
если вы уберете данное условие, то получите очень не эффективный и прожорливый ListView
PhantomR
5 / 5 / 0
Регистрация: 04.02.2016
Сообщений: 74
17.08.2016, 09:13  [ТС]     RSS reader by XmlPullParser + Listview #7
Пойду поднимать учебники по адаптерам.
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
17.08.2016, 09:13     RSS reader by XmlPullParser + Listview #8
Примените паттерн ViewHolder к своему адаптеру.
PhantomR
5 / 5 / 0
Регистрация: 04.02.2016
Сообщений: 74
17.08.2016, 09:14  [ТС]     RSS reader by XmlPullParser + Listview #9
Понял. Спасибо за направление!
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
17.08.2016, 09:16     RSS reader by XmlPullParser + Listview #10
PhantomR, вот довольно простой пример, там ничего сложного
http://androiddocs.ru/pattern-viewho...iska-listview/
PhantomR
5 / 5 / 0
Регистрация: 04.02.2016
Сообщений: 74
18.08.2016, 08:16  [ТС]     RSS reader by XmlPullParser + Listview #11
Делал подобное, пошёл разбираться. Ещё раз огромное спасибо!

Добавлено через 22 часа 55 минут
Ещё раз спасибо большое. Всё получилось. Применил этот паттерн, стало ещё быстрее!

Осталось переделать всё на архитектуру MVP. Но это я так понимаю не совсем junior уровень? (ибо на 3х курсах об этом ни слова).

P.S. Делал простой вариант, т.к. раньше понятия не было как Парсить RSS данные)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2016, 09:10     RSS reader by XmlPullParser + Listview
Еще ссылки по теме:

Android Изображение в RSS ленте
Android Медленный XmlPullParser
Android Самозакрывающийся тег XmlPullParser
Android RSS и новостное приложение
Android RSS в Android studio

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
18.08.2016, 09:10     RSS reader by XmlPullParser + Listview #12
Цитата Сообщение от PhantomR Посмотреть сообщение
Ещё раз спасибо большое. Всё получилось.
Да не за что.
Цитата Сообщение от PhantomR Посмотреть сообщение
Осталось переделать всё на архитектуру MVP. Но это я так понимаю не совсем junior уровень?
имхо: для одной небольшой задачи хватит знаний и джуна, а вот для для построения мало-мальски серьезного приложения придется попотеть, т.к. нет универсального рецепта построения приложения с этой архитектурой, каждый как понимает MVP так ее(архитектуру) и готовит
Yandex
Объявления
18.08.2016, 09:10     RSS reader by XmlPullParser + Listview
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru