Pull to refresh

Comments 6

спасибо про footerView, еще не знал раньше.
Все же, зачем эта возня с интнентами, хэндлерами и рисиверами, если есть AsyncTask?

Спасибо за отклик!

При разработке под несколько платформ удобно API работы с сервером вытаскивать в отдельный пакет. Например у нас хорошо получается использовать большое количество кода и в Android, и вJ2ME. В таких случаях наследование от Thread удобно. В данном случае, да, слишком мощное решение, но в приложении, когда много разных асинхронных процессов, можно реализовать в базовом классе активити обработку интентов, а в наследниках — реальных активити только перехватывать нужное событие.
если вы пишите это приложение одновременно для Android и J2ME, то согласен, легче использовать одинаковый Thread based код.
Однако чисто для андроид приложения, советую пользоваться асинктасками. Если взглянуть на код класса AsyncTask, то внутри у него Executor, Future, Handler, то есть работа по общению Activity-поток уже сделана за вас.
>Добавляем в адаптер списка код запуска загрузки следующей страницы

You're doing it wrong!
ИМХО, правильнее повесить на ListView OnScrollListener, а потом в методе
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
вызывать подгрузку. Как-то так:

if(firstVisibleItem+visibleItemCount==totalItemCount && !dataLoading && visibleItemCount!=0 && totalItemCount!=0 && hasNextPage()){
loadNextPage();
}

На какую-то определенную последовательность вызовов методов адаптера полагаться нельзя. Об этом написано в документации.
p.s. почему у меня теги в комментах перестали работать?
Спасибо! Не знал об этом методе.
Прикольно получилось: «Фоновая подгрузка списков из песочницы» :)
Sign up to leave a comment.

Articles