Size: a a a

Android Developers

2020 May 18

ММ

Мария Мушикова... in Android Developers
@neketsh, вот мне пришло сообщение из новой почты к примеру, но именно этот item не переходит на самый вверх.
источник

S(

Stunner (lavender) in Android Developers
Stunner (lavender)
Есть ViewPager+TabLayout+ViewPagerAdapter. Если элементов 0, то при попытке свайпа приложение крашит. Как сделать, чтобы такого не происходило?
Был вариант с setVisibility, не помню почему отбросил его
источник

M

Max in Android Developers
Вопрос, почему оно не видит фрагмент созданый?
источник

k

kirill in Android Developers
Max
Вопрос, почему оно не видит фрагмент созданый?
Студию перезапусти
источник

M

Max in Android Developers
Такое случается? Я ее просто дня 4 не выключал
источник

NM

Nikolai Melkov in Android Developers
Sync Project with Gradle files
источник

С

Сергей in Android Developers
invalidate cashes and restart
источник

С

Сергей in Android Developers
помогает от всего кроме ошибок в коде
источник

M

Max in Android Developers
Ошибок нету, идентичный код только для других окон работает как часы
источник

M

Max in Android Developers
Т.е. не видит только этот фрагмент, я уже и пересоздавал его
источник

Н

Никита 🙃 in Android Developers
Мария Мушикова
@neketsh, вот мне пришло сообщение из новой почты к примеру, но именно этот item не переходит на самый вверх.
Так просто в самом списке адаптера при добавлении добавляй на 0 индекс
источник

Н

Никита 🙃 in Android Developers
И делай notify
источник

Н

Никита 🙃 in Android Developers
Мб notifyDataSetChanged, а не notify ItemChanged
источник

ММ

Мария Мушикова... in Android Developers
@Никита, спасибо.
источник

M

Max in Android Developers
kirill
Студию перезапусти
О чудо, перезапуск реально помог
источник

AO

An On in Android Developers
Привет. Есть довольно типичная ситуация: в приложении существует какой-то объект доменной области от которого зависят многие экраны, например, основная информация о текущем пользователе. На некоторых экранах нужно этот объект во-первых получить, во-вторых иметь возможность обновить, в третьих, если информация была обновлена кем-то ещё, получить реактивно актуальное значение.

Вроде бы логично завести в скоупе приложения некий BehaviorSubject с этим объектом и подписываться при старте экрана. Но, вызывает замешательство, как в этом случае реализовать обновление. Видимые мною варианты:
1. Дернуть метод загрузки актуальных данных (в репозитории/интеракторе, не суть), который, ничего не возвращая, заэмитит полученное значение в Subject. Т.е. просто дёргаем метод и дальше надеемся, что значение прилетит в сабжект на который при старте экрана произошла подписка.
2. Отписаться от Subject, получить актуальное значение нормальным способом, попутно также заэмитив в Subject для всех остальных подписчиков, подписаться на Subject обратно сделав .drop(1)

Вроде довольно типичная для андроида ситуация, наверняка кто-нибудь сталкивался. Как делаете?
источник

С

Сергей in Android Developers
An On
Привет. Есть довольно типичная ситуация: в приложении существует какой-то объект доменной области от которого зависят многие экраны, например, основная информация о текущем пользователе. На некоторых экранах нужно этот объект во-первых получить, во-вторых иметь возможность обновить, в третьих, если информация была обновлена кем-то ещё, получить реактивно актуальное значение.

Вроде бы логично завести в скоупе приложения некий BehaviorSubject с этим объектом и подписываться при старте экрана. Но, вызывает замешательство, как в этом случае реализовать обновление. Видимые мною варианты:
1. Дернуть метод загрузки актуальных данных (в репозитории/интеракторе, не суть), который, ничего не возвращая, заэмитит полученное значение в Subject. Т.е. просто дёргаем метод и дальше надеемся, что значение прилетит в сабжект на который при старте экрана произошла подписка.
2. Отписаться от Subject, получить актуальное значение нормальным способом, попутно также заэмитив в Subject для всех остальных подписчиков, подписаться на Subject обратно сделав .drop(1)

Вроде довольно типичная для андроида ситуация, наверняка кто-нибудь сталкивался. Как делаете?
.drop(1) зачем?
источник

NM

Nikolai Melkov in Android Developers
Shared LiveData
источник

AO

An On in Android Developers
Сергей
.drop(1) зачем?
потому что при подписке значение тут же прилетит и снова его обрабатывать не имеет смысла (второй способ предполагает, что актуальное значение было возвращено методом)
источник

С

Сергей in Android Developers
Вообще у нас есть такая штука как UserSession там лежат разные сабджекты и методы
getSubjectObservable(): Observable = mySubject
setSubject(data: Data) {
mySubject.onNext(data)
}
источник