Size: a a a

Android Developers

2021 January 13

a

akella122⌬ in Android Developers
У меня есть дата класс, есть лист отдельным классом, есть ресайл и адаптер
источник

a

akella122⌬ in Android Developers
Все заебись, но я не могу передать этот лист в адаптер так как он в корутине/потоке, да в чем угодно, но не там где нужно адаптеру
источник

a

akella122⌬ in Android Developers
А сетевые запросы я не могу в главном потоке сделать
источник

АГ

Алексей Гладков... in Android Developers
akella122⌬
Все заебись, но я не могу передать этот лист в адаптер так как он в корутине/потоке, да в чем угодно, но не там где нужно адаптеру
Тебе нужна нормальная архитектурная схема через viewmodel)
Делаешь примерно следующее

На старте дергаешь функцию во viewModel -> запрос с корутиной -> меняешь поле внутри viewModel -> во фрагменте подписываешься на это поле и по изменению сетаешь его в recycler
Профит
источник

a

akella122⌬ in Android Developers
Алексей Гладков
Тебе нужна нормальная архитектурная схема через viewmodel)
Делаешь примерно следующее

На старте дергаешь функцию во viewModel -> запрос с корутиной -> меняешь поле внутри viewModel -> во фрагменте подписываешься на это поле и по изменению сетаешь его в recycler
Профит
Чета сложно
источник

ℕo ℕame in Android Developers
akella122⌬
Все заебись, но я не могу передать этот лист в адаптер так как он в корутине/потоке, да в чем угодно, но не там где нужно адаптеру
Я не понял. В чем проблема?
Ты не можешь сделать запрос с помощью корутин и засунуть список в адаптер?
источник

a

akella122⌬ in Android Developers
Даже калбэк сделать проще
источник

a

akella122⌬ in Android Developers
ℕo ℕame
Я не понял. В чем проблема?
Ты не можешь сделать запрос с помощью корутин и засунуть список в адаптер?
Только второе
источник

АГ

Алексей Гладков... in Android Developers
akella122⌬
Чета сложно
Ну да ну да нахер архитектура нужна
источник

a

akella122⌬ in Android Developers
Ибо запрошеный лист у меня лежит в корутине
источник

АГ

Алексей Гладков... in Android Developers
akella122⌬
Только второе
внутри корутины сделай withContext(Dispatchers.Main) {
// Вот здесь пихаешь данные в свой recycler
}
источник

a

akella122⌬ in Android Developers
Алексей Гладков
внутри корутины сделай withContext(Dispatchers.Main) {
// Вот здесь пихаешь данные в свой recycler
}
так у меня корутина с листом в отдельном классе. Я же несколько сервисов хочу добавить и под каждый сервис отдельный класс чтобы проще было
источник

АГ

Алексей Гладков... in Android Developers
akella122⌬
так у меня корутина с листом в отдельном классе. Я же несколько сервисов хочу добавить и под каждый сервис отдельный класс чтобы проще было
Тогда либо в класс передай ссылку на адаптер, либо колбэк кинь
источник

АГ

Алексей Гладков... in Android Developers
Но тогда хоть убей не понимаю почему viewModel тебе сложно))))
источник

a

akella122⌬ in Android Developers
У меня вот такой метод
источник

ℕo ℕame in Android Developers
akella122⌬
У меня вот такой метод
Ты ж знаешь что такое корутины?
источник

ℕo ℕame in Android Developers
И зачем они нужны
источник

L

Leonid in Android Developers
akella122⌬
так у меня корутина с листом в отдельном классе. Я же несколько сервисов хочу добавить и под каждый сервис отдельный класс чтобы проще было
Для этого и придумали live data. Чтобы где-то в фоне данные получить, а потом в UI показать.
источник

АГ

Алексей Гладков... in Android Developers
Походу не очень)
источник

a

akella122⌬ in Android Developers
ℕo ℕame
Ты ж знаешь что такое корутины?
Да, даже GlobalScope юзал
источник