Skip to main content

Что следует знать про списки данных

Первым делом, посмотрите видео об основном, что следует знать о списках данных:



На что обратить внимание

  • при пагинации юзер должен видеть что пагинация затриггерилась и работает
  • при пуллтурефреше данные отображенные на ui не должны исчезать - они должны подменяться на новые более актуальные данные
  • состояние загрузки пуллтурефреша должно быть видно в самом пуллтурефреше. анимация его не должна исчезать пока контент в списке не станет актуальным. пропала анимация - мы точно работаем с актуальным контентом
  • если сервер выдал пустой список - мы должны показывать понятный empty state. если данные в этом списке динамично меняются (то есть часто, а не статичные) то надо давать возможность обновить список кнопкой / пулл ту рефрешем
  • если при загрузке первичной была ошибка - надо стейт с ошибкой понятной показывать и кнопку повтора запроса
  • пока идет первичная загрузка - юзер должен видеть это как прогрессбар или скелетон вью
  • если ошибка пуллтурефреша - показываем неблокирующее сообщение (тост, снекбар и аналоги). не забираем излишне внимание на этот факт
  • если ошибка загрузки новой страницы - показываем неблокирующее сообщение (тост, снекбар и аналоги). не забираем излишне внимание на этот факт
  • нельзя делать список в списке (когда внутри скролла есть еще один скролл по той же оси - вертикальный в вертикальном)
    • Вот что сказано по этому поводу в документации

      Never add a RecyclerView or ListView to a scroll view. Doing so results in poor user interface performance and a poor user experience.

  • отступы однотипных элементов списка должны быть одинаковые
  • когда список проскроллим до конца последний элемент не должен обрезаться или сливаться с границей экрана - отступ должен быть тот же что и наверху
  • когда данные списка меняются он должен корректно перестраиваться, где бы данные не были удалены или добавлены