Size: a a a

StartAndroid Ru Chat

2020 August 18

VM

Vadim Morozov in StartAndroid Ru Chat
Sergey Panov
"передавать в фабрику ещё quoteId как то кучеряво будет"
Что в Вашем понимании означает слово кучеряво?
не хотелось захломлять фабрику параметрами которые я могу передать в setInitialData
источник

SP

Sergey Panov in StartAndroid Ru Chat
Если не хотите в конструктор передавать аргумент, то в методе setInitialData нужно обновить лив дату
источник

VM

Vadim Morozov in StartAndroid Ru Chat
Sergey Panov
Если не хотите в конструктор передавать аргумент, то в методе setInitialData нужно обновить лив дату
вот с этим и проблема.
как её корректно обновить?
ну то есть на данный момент у меня пока есть просто переменная
    val quoteLiveData = run {
       quoteRepository.getQuoteByIdLiveData(quoteId ?: return@run MutableLiveData(null))
   }
источник

SP

Sergey Panov in StartAndroid Ru Chat
Vadim Morozov
вот с этим и проблема.
как её корректно обновить?
ну то есть на данный момент у меня пока есть просто переменная
    val quoteLiveData = run {
       quoteRepository.getQuoteByIdLiveData(quoteId ?: return@run MutableLiveData(null))
   }
Попробуйте сделать её var, и в методе setInitialData просто добавьте: quoteLiveData = run {
        quoteRepository.getQuoteByIdLiveData(quoteId ?: return@run MutableLiveData(null))
   }
источник

SP

Sergey Panov in StartAndroid Ru Chat
Но на мой взгляд лучше передавать в конструктор quoteId
источник

VM

Vadim Morozov in StartAndroid Ru Chat
Sergey Panov
Попробуйте сделать её var, и в методе setInitialData просто добавьте: quoteLiveData = run {
        quoteRepository.getQuoteByIdLiveData(quoteId ?: return@run MutableLiveData(null))
   }
так не срабатывает
ну в фабрику передавать её тоже целая история(
источник

VM

Vadim Morozov in StartAndroid Ru Chat
проблемка с передачей следующая
источник

VM

Vadim Morozov in StartAndroid Ru Chat
во первых надо ли мне провайдить quoteId?
источник

SP

Sergey Panov in StartAndroid Ru Chat
Vadim Morozov
так не срабатывает
ну в фабрику передавать её тоже целая история(
Вы пробовали сделать переменную var? Почему Вы считаете, что это не сработает?
источник

SP

Sergey Panov in StartAndroid Ru Chat
Vadim Morozov
во первых надо ли мне провайдить quoteId?
Провайдить в смысле через Dagger?
источник

VM

Vadim Morozov in StartAndroid Ru Chat
Sergey Panov
Провайдить в смысле через Dagger?
да, ну то есть раньше у меня была одна фабрика и я просто передавал её следующим образом
https://gist.github.com/mnewlive/add6ded361fd4a1416823ff322472eea
источник

VM

Vadim Morozov in StartAndroid Ru Chat
и после во viewModel передавал также параметры
источник

VM

Vadim Morozov in StartAndroid Ru Chat
Sergey Panov
Вы пробовали сделать переменную var? Почему Вы считаете, что это не сработает?
пробовал не получается
источник

VM

Vadim Morozov in StartAndroid Ru Chat
если передавать в конструктор id
то как правильно это можно сделать через фабрику подвзянную на dagger?
источник

VM

Vadim Morozov in StartAndroid Ru Chat
сейчас я передаю только репозиторий
источник

VM

Vadim Morozov in StartAndroid Ru Chat
а вот cо строкой мучаюсь
источник

VM

Vadim Morozov in StartAndroid Ru Chat
ну в фабрике я передал скажем ее в конструктор и после вовзращаю модель с двумя параметрами один из которых так раз таки мой id
источник

SP

Sergey Panov in StartAndroid Ru Chat
Vadim Morozov
если передавать в конструктор id
то как правильно это можно сделать через фабрику подвзянную на dagger?
В 2 словах не объяснить. Я сделал класс в который внедряю зависимости с помощью  dagger, потом этот класс передаю в фабрику вьюМодели вместе с рантайм параметром (в твоём случае qouteId). Могу скинуть пример кода если сам не разберёшься.
источник

VM

Vadim Morozov in StartAndroid Ru Chat
Sergey Panov
В 2 словах не объяснить. Я сделал класс в который внедряю зависимости с помощью  dagger, потом этот класс передаю в фабрику вьюМодели вместе с рантайм параметром (в твоём случае qouteId). Могу скинуть пример кода если сам не разберёшься.
да я примерно тоже самое сделал
мне не понятно как должна выглядеть реализация в AppModule и AppComponent для quoteId

щас скину свой код, может понятней станет и вам)
источник

VM

Vadim Morozov in StartAndroid Ru Chat
Sergey Panov
В 2 словах не объяснить. Я сделал класс в который внедряю зависимости с помощью  dagger, потом этот класс передаю в фабрику вьюМодели вместе с рантайм параметром (в твоём случае qouteId). Могу скинуть пример кода если сам не разберёшься.
источник