Size: a a a

StartAndroid Ru Chat

2021 May 02

В

Виктор in StartAndroid Ru Chat
Погуглите MVVM examples
источник

СП

Сергей П. in StartAndroid Ru Chat
Ui по клику вызывает метод вьюмодели "сделай с данными что тут  юзер хочет"
источник

EP

Egor Peretrukhin in StartAndroid Ru Chat
вот я хочу чтобы при нажатии на кнопку происходила покупка товара и в бд количество товара уменьшалось.
источник

EP

Egor Peretrukhin in StartAndroid Ru Chat
т.е по факту я должен написать метод в вьюмодели на который будет ссылаться онкликлистенер, и вью модель будет   ссылаться на метод в репо который уже будет делать изменения в бд и после изменений лайф дата сама их подтянет
источник

СП

Сергей П. in StartAndroid Ru Chat
Ну вот как описано. Но не забудьте что надо обрабатывать все мыслимые и не мыслимые ошибки и докладывать о них юзеру
источник

СП

Сергей П. in StartAndroid Ru Chat
И об успехе тоже - через изменение остатков хотя бы
источник

СП

Сергей П. in StartAndroid Ru Chat
И верификации допустимости операции - это бизнес логика, она на уровне вьюмодели обычно
источник

В

Виктор in StartAndroid Ru Chat
Нажатие на кнопку отлавливается с помощью OnClickListener. В этом листенере дергайте функцию из ViewModel, которая через viewModelScope дергает функцию покупки товара из репозитория. Для отслеживания изменений в базе данных нужна observable-функция в DAO. Т.е. эта функция должно возвращать Flow/LiveData/любой другой Observable.  Далее эту функции обсервите в UI через всю цепочку: DAO-Repository-ViewModel-UI через LiveData observe/Flow collect и обновляете UI этими данными.
источник

EP

Egor Peretrukhin in StartAndroid Ru Chat
у меня он клик листенер стоит в onBindViewHolder, там почему то я немогу вызвать вью модель..
источник

В

Виктор in StartAndroid Ru Chat
Нельзя из адаптера вызывать ничего. Через колбэк/интерфейс протащите этот листенер из адаптера в UI и там зовите ViewModel.
источник

EP

Egor Peretrukhin in StartAndroid Ru Chat
ок спасибо
источник

В

Виктор in StartAndroid Ru Chat
Погуглите примеры MVVM & Room & RecyclerView
источник

СП

Сергей П. in StartAndroid Ru Chat
Из вью можно. Он имеет доступ к модели. А как пробросить туда клик и на что кликнули способов много
источник

EP

Egor Peretrukhin in StartAndroid Ru Chat
да уже смотрел, но там в основном только про получение данных, но либо нет либо мало информации про внесение изменений)
источник

MV

Muhammad Vafoev in StartAndroid Ru Chat
Activity lifecycle, fragment lifecycle, paging library
источник

В

Виктор in StartAndroid Ru Chat
Вот один из способов протащить листенер в UI https://medium.com/androiddevelopers/for-my-next-trick-i-will-write-about-onclick-45e0a6881c8a
источник

EP

Egor Peretrukhin in StartAndroid Ru Chat
про протащить я в принципе и без статьи понял спасибо)) я просто не силен пока в котлине, т.к не плохо знаю джаву решил андроид изучать на ней
источник

В

Виктор in StartAndroid Ru Chat
Тогда сначала полистайте всякие примеры на медиуме/сайте гугла(кодлабс), чтобы увидеть отличия. Потом хотя бы поверхностно почитайте статьи про корутины и его scopes(про один из которых я писал - viewModelScope)
источник
2021 May 03

NC

Nurgazy Chargynov in StartAndroid Ru Chat
Ребят, можно ли создавать 2-3 или более navigationa в одном проекте?
источник

BS

Bohdan Shpanchuk in StartAndroid Ru Chat
Да
источник