Pull to refresh

Comments 9

Может, конечно, велосипед (Андроид и Java не основной мой стек), но я для изменения View из AsyncTask поступал по другому.
Начнём с того, что я манипулировал фрагментами в одной активности.
Есть синглтон (пусть) FragmentListenerRegister. Каждый фрагмент в обработчике onCreateView подписывает себя на оповещение в это синглтоне, соответственно в onDestroyView — отписывается.
Есть несколько тасков, выполняющих определённую задачу и наследующих абстрактный общий наследник AsyncTask. В этом абстрактном классе-наследнике при выполнении onProgressUpdate и onPostExecute вызывается метод информирования фрагментов, подписанных в FragmentListenerRegister об окончании работы или изменении прогресса.
Вся работа с моделью данных производится внутри этих тасков.
Общий принцип такой:
Создался фрагмент, подписался на события.
Вызвали таск, он работает, как-то видоизменяет модель (если всё идёт хорошо). По окончании работы (или изменении прогресса) производится информирование фрагмента, который производит обновление представления.
Многие такие велосипеды писали, сейчас нужно смотреть в сторону ViewModel/LiveData и их интеграций (например, с Room).
а еще к этому всему очень неплохо ложится databinding
Спасибо за перевод, но скрывайте, пожалуйста, гифки под спойлер.
А почему три примера кода в описании загрузчиков приведены не на Java?
Так Kotlin же, короче и яснее.
У меня неожиданная смена синтаксиса вызвала когнитивный диссонанс: )
Вопрос, который тревожит меня давно: если приложение пишется только под вертикальную ориентацию, т.е. жестко в манифесте это указывается, так ли уже надо заморачиваться уничтожением Activity? Конечно, я пониманию, что Activity может быть уничтожена и просто из-за нехватки ресурсов системы и пересоздана заново, но для современного железа эта ситуация все больше становится маловероятной.
Реальность такова, что 80% времени смартфоном пользуются в вертикальном положении.

Конечно, нужно стремиться к совершенству, никто не спорит, интересует лишь список возможных проблем для приложений с вертикальной ориентацией.
Надо, Активити может будет пересоздана по многим другим причинам, например, split-screen или если пользователь просто сменил дату-время-язык на телефоне.
Sign up to leave a comment.