Size: a a a

StartAndroid Ru Chat

2020 September 05

A

Alex in StartAndroid Ru Chat
Sergey Panov
Хотя нет, всё верно, для разных ключей отдельные слушатели...
Это ключ для слушателя, чтобы он принял бандл, я пытался отловить ключ самого бандла, который приходит в метод ниже. Но там видимо из-за того что пара ключ:значение if не отлавливает, по логам он просто их пропускает.
источник

SP

Sergey Panov in StartAndroid Ru Chat
Alex
Это ключ для слушателя, чтобы он принял бандл, я пытался отловить ключ самого бандла, который приходит в метод ниже. Но там видимо из-за того что пара ключ:значение if не отлавливает, по логам он просто их пропускает.
У тебя в листенере будет всегда String key =="key". Нужно для каждого ключа делать свой листенер.
источник

A

Alex in StartAndroid Ru Chat
Sergey Panov
У тебя в листенере будет всегда String key =="key". Нужно для каждого ключа делать свой листенер.
Так вроде этот кей для общего отлова потока ответов. Зачем тогда бандлу давать ключ? Если оно действительно так работает, то это бред. У меня 6 фрагментов и 6 методов в овверайд это охренеть сколько кода. Смысл тогда они старые методы через интенты сделали депрекэйтед если там кода в 3 строки. Если все действительно так то это шок.
источник

G

G in StartAndroid Ru Chat
Andrew
Сохранилось в папку с super user scope? Может быть твой FM  имеет доступ только к emulated/0 ? Или твой FM делал кто-то из чатека ? :/
Что значит FM?
источник

A

Alex in StartAndroid Ru Chat
В диалог фрагменте все так
источник

A

Andrew in StartAndroid Ru Chat
G
Что значит FM?
Сократил File Manager
источник

A

Alex in StartAndroid Ru Chat
Я просто думал что все работает так - он собирает бандл ключ:значение. Помещает в упаковку ключ:бандл. Отправляет в слушатель с ключем key. Там бандл в метод закидывает и мотод также разбирает по ключ:значение
источник

A

Alex in StartAndroid Ru Chat
А вот этот ключ key, нужен просто чтобы бандл попал в нужный слушатель, ибо фрагментов со слушателем в общем котле фрагмент менеджера может быть много
источник

SP

Sergey Panov in StartAndroid Ru Chat
Alex
Так вроде этот кей для общего отлова потока ответов. Зачем тогда бандлу давать ключ? Если оно действительно так работает, то это бред. У меня 6 фрагментов и 6 методов в овверайд это охренеть сколько кода. Смысл тогда они старые методы через интенты сделали депрекэйтед если там кода в 3 строки. Если все действительно так то это шок.
"Зачем тогда бандлу давать ключ?"
Бандлу ты даёшь ключ, чтобы потом найти значение в бандле.

"А вот этот ключ key, нужен просто чтобы бандл попал в нужный слушатель"
И в этот слушатель приходят 6 бандлов из разных фрагментов... и как ему искать какой бандл из какого фрагмента?
источник

SP

Sergey Panov in StartAndroid Ru Chat
Alex
Так вроде этот кей для общего отлова потока ответов. Зачем тогда бандлу давать ключ? Если оно действительно так работает, то это бред. У меня 6 фрагментов и 6 методов в овверайд это охренеть сколько кода. Смысл тогда они старые методы через интенты сделали депрекэйтед если там кода в 3 строки. Если все действительно так то это шок.
"У меня 6 фрагментов и 6 методов в овверайд это охренеть сколько кода. "
Сделай так чтобы фрагмент реализовывал интерфейс FragmentResultListener, и в OnFragmentResult проверяй ключи через switch/case, а в листенер для каждого ключа передавай this.
источник

A

Alex in StartAndroid Ru Chat
Sergey Panov
"У меня 6 фрагментов и 6 методов в овверайд это охренеть сколько кода. "
Сделай так чтобы фрагмент реализовывал интерфейс FragmentResultListener, и в OnFragmentResult проверяй ключи через switch/case, а в листенер для каждого ключа передавай this.
Это божественно 😁 Ещё раз благодарен за помощь. Всё получилось.
источник

A

Alex in StartAndroid Ru Chat
Кто-то уже пользовался Motion Layout? У всех он так безбожно лагает на ровном месте, работает как попало, ломается постоянно, выдаёт совсем не то что нужно ?
источник
2020 September 06

AD

Andrei Danilenko in StartAndroid Ru Chat
я чет запутался в корутинах, у меня getAllCarBrands делает запрос через ретрофит, и в таком виде ругается что только мейн тред может менять вью, если что то пытаюсь выносить то нетворкОперэйш фром мейн тред, чет не могу понять как мне надо сделать
источник

AD

Andrei Danilenko in StartAndroid Ru Chat
я походу вообще все неправильно делаю(юзаю корутины))))
источник

D

Denis in StartAndroid Ru Chat
Andrei Danilenko
я чет запутался в корутинах, у меня getAllCarBrands делает запрос через ретрофит, и в таком виде ругается что только мейн тред может менять вью, если что то пытаюсь выносить то нетворкОперэйш фром мейн тред, чет не могу понять как мне надо сделать
в адаптер присваивать надо уже в основном потоке. Оберни в CoroutineScope(Dispatchers.Main).launch {  }
источник

D

Denis in StartAndroid Ru Chat
только строку с адаптером
источник

SP

Sergey Panov in StartAndroid Ru Chat
Andrei Danilenko
я чет запутался в корутинах, у меня getAllCarBrands делает запрос через ретрофит, и в таком виде ругается что только мейн тред может менять вью, если что то пытаюсь выносить то нетворкОперэйш фром мейн тред, чет не могу понять как мне надо сделать
Во первых странно что у тебя viewModelScope во фрагменте - чувствую memory leaks.
Во вторых при вызове suspend функций не нужно менять поток (при условии, что они правильно написаны).
В третьих ты устанавливаешь адаптер контексте Dispatchers.IO, из-за чего ошибка, что ты меняешь вью не из главного потока.
В твоём случае просто нужно убрать withContext  и всё заработает как надо.
источник

I

Ivan in StartAndroid Ru Chat
+ к withContext убрать
источник

I

Ivan in StartAndroid Ru Chat
ещё я думаю getAllCarBrands должна быть помечена как
suspend
источник

AD

Andrei Danilenko in StartAndroid Ru Chat
если просто убрать то у меня NetworkOnMainThreadException потому что работа с хттп в основном потоке
источник