Size: a a a

StartAndroid Ru Chat

2021 March 23

V

Vladushka in StartAndroid Ru Chat
Почему не знает ?
источник

СП

Сергей П. in StartAndroid Ru Chat
Alexey
ребят, как получить доступ к полю МеинАктивити из другого класса?
Есть проблема в том что активность постоянно пересоздается. Если обращаться к ней именно как MainActivity.doThms.. то нет проблем, но в этом методе досиупны только статические переменные и методы
источник

СП

Сергей П. in StartAndroid Ru Chat
А делать progressBar статическим  не рекомендуется - это ведет к утечкам памяти. Хоть и небольшим.
источник

СП

Сергей П. in StartAndroid Ru Chat
Есть разные костыли - гугли. Про связь между фрагментами и активностяи к примеру и далее по аналогии
источник

A

Alexey in StartAndroid Ru Chat
Vladushka
Почему не знает ?
ну я через Ретрофит делаю. В классе А реализую:

listStockService.getQueryStock(query).enqueue(....)

и там 2 фунции - онРеспонс и онФейл...

в онРеспонсе я записываю ответ в лайвДату, а в онФейл просто хотел убрать прогрессБар
источник

A

Alexey in StartAndroid Ru Chat
если фунцию, которая ходит в сеть вынести в МейнАктивити - это сильно стремно?
источник

v

vladimir in StartAndroid Ru Chat
Alexey
ну я через Ретрофит делаю. В классе А реализую:

listStockService.getQueryStock(query).enqueue(....)

и там 2 фунции - онРеспонс и онФейл...

в онРеспонсе я записываю ответ в лайвДату, а в онФейл просто хотел убрать прогрессБар
Имхо правильным вариантом является создание livedata<MyResponseClass> который будет observe-ть UI и принимать решение о том показывать Progress Bar или нет.
источник

v

vladimir in StartAndroid Ru Chat
Хотя я скорее дилетант так что могу ошибаться
источник

v

vladimir in StartAndroid Ru Chat
Alexey
если фунцию, которая ходит в сеть вынести в МейнАктивити - это сильно стремно?
Это не будет работать т.к. Android запрещает работу с сетью из Main Thread.
источник

A

Alexey in StartAndroid Ru Chat
енкью же асинхронно ходит
источник

A

Alexey in StartAndroid Ru Chat
щас попробую)
источник

v

vladimir in StartAndroid Ru Chat
Ну тогда может и сработает. Хотя везде пишут что сие есть моветон. :)
источник

A

Alexey in StartAndroid Ru Chat
все работает))
источник

A

Alexey in StartAndroid Ru Chat
но на душе не спокойно)
источник

A

Alexey in StartAndroid Ru Chat
знаете... такое ощущение...
все работает, но чувствуешь, что сделал фигню))
оставлю пока так... потом научусь, как надо правильно 😂
источник

v

vladimir in StartAndroid Ru Chat
И не зря, т.к. при повороте экрана activity будет пересоздано, и в лучшем случае ваш запрос пропадёт. А в худшем получите утечку памяти.
источник

v

vladimir in StartAndroid Ru Chat
Не претендую на истину, но я обычно для таких вещей использую ViewModel класс.
источник

A

Alexey in StartAndroid Ru Chat
vladimir
Не претендую на истину, но я обычно для таких вещей использую ViewModel класс.
так... эту функцию я вынесу во вьюмодель... как там получить доступ к прогресс бар...
вьюмодель же ничего не знает про активити...
источник

v

vladimir in StartAndroid Ru Chat
Я же уже писал выше. Создать (во ViewModel) mutablelivedata<свой класс> в котором будет содержаться инфа о текущем состоянии.
А UI будет его observe-ить и принимать решение что показывать.
источник

A

Alexey in StartAndroid Ru Chat
<свой класс> - использовать как флаг (boolean). Затем обсервим его в активити... если флаг = тру, то дополнительно обсервим лайвДату с data class, а если фалс, то убираем прогрессБар
источник