169 похожих чатов

Всем привет. в данный момент учусь работать с MVVM паттерном

и столкнулся со следующим вопросом. Где описывать такие элементы UI как кнопка вместе с onClickListener или text view и т.д?

23 ответов

19 просмотров

Во Вью

Sergey-Konar Автор вопроса

имеешь в виду в xml файле?

Где хочешь

я вот вопрос понять не могу...

Именно в том активити или фрагменте )))который привязан к viewModel

Sergey-Konar Автор вопроса

ну вот смотри. есть приложение с MVVM архитектурой. Данные для вью берутся из интернета. в Мейн Активтити я просто подключаю viewModel, но где cеттить данные для View полученные в классе Repository не могу понять

Так в активити

в Activity / Fragment либо используй Databinding (для него в View метод onClick)

https://developer.android.com/topic/libraries/architecture/viewmodel

я +- понял наверное вопрос. Вот например ты включаешь приложение, у тебя грузиться mainActivity и у нее своя viewModel, и там ты прописываешь репозитории, где в ините (если это котлин) качаешь нужные данные (как то так)

Вот dataBinding плохой способ реализации.лучше не писать логику в xml от этого смысл теряется.вот заходиш в xml а там чисто отоброжение ничего более )))глазам приятно )))

обработку кликов через биндинги имеете ввиду?

ну тут на самом деле соглы на все 100%. Самый удобный и наглядный способ через setOnClickListener

В официальной документации к датабиндингу черным по белому (в светлой теме если читать) написано, что логику и не надо пихать в хмл, хоть и можно. Лучше пользоваться биндинг адаптерами.

Да я знаю, самому не нравится, но это не говорит, что такой подход не используется

потом делаешь для этого вручную биндинги во View, добавляешь Model и Presenter - вот тебе и MVP, глазам приятно.

Понимаю )))но людям которые будут использовать мой код после того как я впихну в xml логику не приятно будет заходит в xml)))

другое дело, что View может быть сразу xml, тут надо по ситуации смотреть

Можно в коде, можно в верстке. В верстке не все получится засетить, даже с помощью адаптеров (либо оно будет выглядеть сомнительно)

И где там логика и почему лучше там не писать? Ну и да, лучше делать фрагменты и Активити по тысячи строк, там же не нужно в них работать с жизненным циклом, инициализировать и инжектить зависимости, передавать и забирать данные через аргументы, а лучше ещё навигацию туда запихнуть

Кому как.

Так а зачем говорить что лучше или нет?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта