Size: a a a

Android Developers

2019 December 27

I

Ivansuper in Android Developers
Artur Antonevich
может нужно этот скролл делать через какой нибудь хэндлер чтобы успел отрисоваться? Сейчас он воставляется в registerAdapterDataObserver - onItemRangeInserted
Т.е. ты скроллишь сразу послк обновления данных адаптера?
источник

AA

Artur Antonevich in Android Developers
Ivansuper
Т.е. ты скроллишь сразу послк обновления данных адаптера?
itemsAdapter.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() {
           override fun onItemRangeInserted(positionStart: Int, itemCount: Int) {
               if (positionStart == 0) {
                   manager.scrollToPositionWithOffset(0, Int.MAX_VALUE)
               }
           }
       })

manager = WrapLinearLayoutManager(this, LinearLayoutManager.VERTICAL, true).apply {
           stackFromEnd = true
           isSmoothScrollbarEnabled = true
       }
источник

I

Ivansuper in Android Developers
Так не пойдет
источник

ОА

Оганнес Асатрян in Android Developers
Напомните плиз, какие могут быть траблы с шаредами при обновлении?
Типа они перетираются или наоборот не перетираются?
источник

I

Ivansuper in Android Developers
Ресайклер асинхронный. На момень запроса скрола там старые данные
источник

I

Ivansuper in Android Developers
Оганнес Асатрян
Напомните плиз, какие могут быть траблы с шаредами при обновлении?
Типа они перетираются или наоборот не перетираются?
За всю свою жизнь не видел чтобы шареды вытерлись при обновлении аппа
источник

DD

Dmitriy Dyachenko in Android Developers
Оганнес Асатрян
Напомните плиз, какие могут быть траблы с шаредами при обновлении?
Типа они перетираются или наоборот не перетираются?
Если allowBackup = false не стоит то после удаления и установки с нуля он может затянуть старые префы. Плюс возможно и просто не удаляет их при удалении приложения, если флага нет
источник

ОА

Оганнес Асатрян in Android Developers
Dmitriy Dyachenko
Если allowBackup = false не стоит то после удаления и установки с нуля он может затянуть старые префы. Плюс возможно и просто не удаляет их при удалении приложения, если флага нет
Вот-вот  спасибо
источник

ОА

Оганнес Асатрян in Android Developers
Есть ещё кейсы?
источник

DD

Dmitriy Dyachenko in Android Developers
Больше каких то подобных приколов не встречал
источник

K

Kopusha in Android Developers
@orion_gm так ты попробовал  с 0dp? Батя плохого не посоветует.
источник

AA

Artur Antonevich in Android Developers
Kopusha
@orion_gm так ты попробовал  с 0dp? Батя плохого не посоветует.
пробовал
источник

ОА

Оганнес Асатрян in Android Developers
Посоны. Можно отозвать релиз который был выпущен неделю назад?
источник

AW

Artem Winokurov © in Android Developers
откатить код до нужной версии повысить версию кода - обновить приложение))
источник

I

Ivansuper in Android Developers
Artur Antonevich
пробовал
Попробуй в месте коллбека изменения адаптера повесить OnGlobalLayoutListener и при его отрабатывании отдать скролл в ресайклер. Просто для теста, посмотрим что будет
источник

А

Александр in Android Developers
Dmitriy Dyachenko
Если allowBackup = false не стоит то после удаления и установки с нуля он может затянуть старые префы. Плюс возможно и просто не удаляет их при удалении приложения, если флага нет
А при апдейте?
Я апку пишу, и у меня айдишники избранных записей в префах лежат, вот задумался чот теперь
источник

K

Kopusha in Android Developers
@orion_gm вынеси в отдельный проект, и убери все лишнее, быстрее найдешь. Я вчера уже хотел профессию менять, никогда так ConstraintLayout меня не подводил. Короче, ставлю match_parent - визуально растянут по ширине. Но не скролится до последгего, а как-то "почти". Два дня всякие листенеры на лэйауты вешал, requestLayout делал, handler.postDelayed и другую ебалу. Потом выставил ШИРИНУ (пилять, причем тут ширина вообще) на 0dp и прибил кострейнты к краям и теперь скролится. Вопросы, загадки, расследования.
источник

DD

Dmitriy Dyachenko in Android Developers
Александр
А при апдейте?
Я апку пишу, и у меня айдишники избранных записей в префах лежат, вот задумался чот теперь
Как минимум я не встречал никаких проблем. Там именно проблема того, что установленное с нуля приложение, может получить старые префы и по ним опираться на текущее свое состояние. Например условно хранишь ты там isLoggedIn флаг и если он есть кидаешь на главную, а по факту ни токена для работы с апи ни чего-то другого у приложения нет. Вот и получается что установил с нуля и все работает некорректно.
А в случае обновлений с префами ничего не происходит, они как были так и есть, только если ты при обновлении их имя сменишь, тогда да, получишь новое хранилище без данных
источник

А

Александр in Android Developers
Dmitriy Dyachenko
Как минимум я не встречал никаких проблем. Там именно проблема того, что установленное с нуля приложение, может получить старые префы и по ним опираться на текущее свое состояние. Например условно хранишь ты там isLoggedIn флаг и если он есть кидаешь на главную, а по факту ни токена для работы с апи ни чего-то другого у приложения нет. Вот и получается что установил с нуля и все работает некорректно.
А в случае обновлений с префами ничего не происходит, они как были так и есть, только если ты при обновлении их имя сменишь, тогда да, получишь новое хранилище без данных
Интересненько, спасибо.
источник

I

Ivansuper in Android Developers
Dmitriy Dyachenko
Как минимум я не встречал никаких проблем. Там именно проблема того, что установленное с нуля приложение, может получить старые префы и по ним опираться на текущее свое состояние. Например условно хранишь ты там isLoggedIn флаг и если он есть кидаешь на главную, а по факту ни токена для работы с апи ни чего-то другого у приложения нет. Вот и получается что установил с нуля и все работает некорректно.
А в случае обновлений с префами ничего не происходит, они как были так и есть, только если ты при обновлении их имя сменишь, тогда да, получишь новое хранилище без данных
Еще один повод в принципе не хранить ничего в префах серьезного, а чуть чуть не полениться и сложить в свою базу
источник