D
надо подождать минут 20 еще плюс показать код, например
Ждал уже, ладно спасибо. Сам попробую разобраться )
Andrei
Скажите правильно ли ссылку на binding запихивать в AndroidViewModel ? тогда не теряются привязки методов к элементам (кнопкам) как бы удобно и не нужно перепривязывать всё это в onResume , но я не уверен что это верно.
Andrei
и где стоит создавать по правильной концепции MVVM , методы onClick(View view) в классе фрагмента , или в классе ViewModel ? Адаптеры для RecyclerView ? стоит хранить во ViewModel или в классе фрагмента ? если они лежат в модели то как бы при поворотах можно не парится все данные в них сохранятся , но это вроди как не верно .. или я что то не так понимаю
Konstantin
должно быть наоборот. Вьюмодель излучает данные, а биндинг на них подписывается. Вьмодель о вьюхе знать ничего не должна В общем случае ты сетаешь вьюмодель в свою вьюху во фрагменте типа binding.wm = viewModel binding.lifecycleOwner = viewLifecycleOwner в разделе <data> xml у тебя соответственно чтото типа <data> <variable name="wm" type="lalala.MyViewModel" /> </data> и в xml ты можешь в кнопке сделать android:onClick="@{()->wm.buttonClick()}" сответственно в твоей вьюмодели есть buttonClick(), который этот клик и будет обрабатывать. А из вьюмодели если ты хочешь например текст на кнопку передать, то делаешь во вьюмодели LiveData в нее постишь данные, а в xml кнопки android:text="@{wm.text}"
Konstantin
вьюмодель и данные в ней будут переживать повороты, на лайвдату переподписка тоже будет осуществляться автоматически
Anonymous
Какой компоненгт можно использовать, чтобы сделать кнопку play / pause. Хочу через Selector менять состояние кнопки
Anonymous
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/ic_play" android:state_checked="true" /> <item android:drawable="@drawable/ic_pause" android:state_checked="false" /> </selector> Вот мой селектор, я добавил его в ImageView. И ничего не работает когда нажимаю
Konstantin
попробуй вместо state_checked android:state_enabled и при нажатии на кнопку дизейбли ее или энейбли
Andrei
должно быть наоборот. Вьюмодель излучает данные, а биндинг на них подписывается. Вьмодель о вьюхе знать ничего не должна В общем случае ты сетаешь вьюмодель в свою вьюху во фрагменте типа binding.wm = viewModel binding.lifecycleOwner = viewLifecycleOwner в разделе <data> xml у тебя соответственно чтото типа <data> <variable name="wm" type="lalala.MyViewModel" /> </data> и в xml ты можешь в кнопке сделать android:onClick="@{()->wm.buttonClick()}" сответственно в твоей вьюмодели есть buttonClick(), который этот клик и будет обрабатывать. А из вьюмодели если ты хочешь например текст на кнопку передать, то делаешь во вьюмодели LiveData в нее постишь данные, а в xml кнопки android:text="@{wm.text}"
короче я всё тут поперупутал :) и сделал где как ... ладно спасибо :) сделаю пока что бы работало , потом уже буду по тиху старый код переделывать под MVVM , уж больше много сейчас перелапачивать придётся
Металлов
Ждал уже, ладно спасибо. Сам попробую разобраться )
На оболочке ксяоми при выходе из приложения, система просто останавливает все что связано с приложением, я ждал целый день, но ворк менеджер так и не запустился
Andrei
вьюмодель и данные в ней будут переживать повороты, на лайвдату переподписка тоже будет осуществляться автоматически
а если мне по нажатию на кнопку нужно запустить другую активность, что через кэлбек вещать фрагменту что бы вызвал ?
Konstantin
а если мне по нажатию на кнопку нужно запустить другую активность, что через кэлбек вещать фрагменту что бы вызвал ?
можешь так же эмитить лайвдату и на нее подписаться в фрагменте. Чтобы ручками от коллбека не отписываться потом
Металлов
Привет, что теперь делать тогда ?
Ничего с этим не сделаешь, как я понял, только забить на все с оболочкой ксяоми
Konstantin
у фрагмента есть lifecycleOwner
Andrei
у фрагмента есть lifecycleOwner
я его передаю кстати в свою ViewModel что бы в нутри иметь возможность делать подписки ... (как бы нужно для некоторых процессво , или это тоже не верно ? )
Konstantin
Avoid referencing a View or Activity context in your ViewModel. If the ViewModel outlives the activity (in case of configuration changes), your activity leaks and isn't properly disposed by the garbage collector.
Konstantin
https://developer.android.com/topic/libraries/architecture/lifecycle
Max
Вообще выполнится. Но нужно item обновить
Max
Да. Правда судя по коду опять загрузка начнется
Johny
Всем привет! Кто-нибудь может написать приложение по приложенному макету?
Anonymous
Пипл, какой предпочтительный способ в андроид сделать кликабельную кнопку, но так чтобы вместо текста и фона, была картинка и чтобы она нажималась
Johny
Жду предложения по срокам и цене
Anonymous
надоело кастомки пилить, неужели нельзя было придумать гуглу что - то
Maksym
Кто знает как отключить scroll при клике по TabWidget в TabHost. В табках идут список типа recyclerview
Max
А progressLoad к чему относится? Это часть view item-a?
Max
Это я понял. Но он к чему относится? Почему не как поле холдера?
Asymb
Ребят, срочно нужно в вебвью правильно переопределить метод onCreateWindow, для опытного чувака это будет изи, за помощь накину пару соток
Kirill
Кто может объяснить, почему в BottomSheetDialogFragment, SnackBar отображается только если его обернуть в CoordinatorLayout
Anonymous
Что это за чудо компонент? в материале глянул не нашел его.....Как подключить?
Anonymous
style="@style/Widget.MaterialComponents.Button.Icon" Вот этот не подходит. Вот что получается.
Anonymous
А в IconButton выше, фон прозрачный и вообще все четко, картинка меняется при нажатии....блин где гайд взять чтобы почитать
Ilya
логично
Ilya
без Icon тему используешь и всё
Anonymous
https://material.io/develop/web/components/buttons/icon-buttons/
Ilya
https://material.io/develop/android/components/buttons/
Ilya
https://material.io/develop/android/components/buttons/
добавляешь selector с checked и unchecked и ripple как там написано
Max
https://material.io/develop/web/components/buttons/icon-buttons/
это Web а вот как мол для Android. и ребята выше уже ответили https://material.io/develop/android/components/buttons/#icon
Ilya
уже 2 раза кинули
Anonymous
Спасибо)))
Anonymous
Все сделал как вы сказали, в итоге какой - то баг с Материал. Это нормально? Ссылка на код XML
Anonymous
Сам по себе цвет поменялся..😑
Max
:)
Дмитрий
кто-нибудь знает причину отсутствия у editText курсора при вводе текста?
Damir
В чем проблема, цвет темы при нажатии меняется только у фрагмента, пытался через xml и стили делать
Damir
Damir
Max
Все сделал как вы сказали, в итоге какой - то баг с Материал. Это нормально? Ссылка на код XML
изобаржения svg? в Material Component у многих вещей есть так называемое свойство Tint
Anonymous
Зацените иконку программы
Дмитрий
белый на белом?
действительно, я это не проверял
Mike
Почему вообще что-либо должно работать? Свежесозданный ContextThemeWrapper создаётся и выбрасывается. А shPref — вообще хз что, там либо null, либо одноразовые Editor
Mike
Зацените иконку программы
Для лесбийской бублишной отлично.
Anonymous
Ну вот только об этом и умеете думать
Anonymous
Я обиделся
Anonymous
Это не баг, а один из цветов стиля
Вообщем чтобы цвет был серым, надо в стилях кастомизировать?
Alexander
Вообщем чтобы цвет был серым, надо в стилях кастомизировать?
Первым делом погуглить про стили и их применение и основные цвета, а потом можно "кастомизировать"
BDB 🏴‍☠️
Зацените иконку программы
что то свзязанное с инстой?
Ivan
Зацените иконку программы
Если сам нарисовал в xml, то зачёт!
Anonymous
Объясните тупому, пожалуйста...( почему все таки не хочет вылазить окно?..(
Anonymous
А какой результат ожидаете?
Хотелось бы, чтобы вылазило плавающее окно.
Egor
Объясните тупому, пожалуйста...( почему все таки не хочет вылазить окно?..(
Называть класс FABActivity, так ещё и от сервиса наследовать) Ты точно понимаешь что делаешь? Может забыл его вызвать?
Anonymous
А какой результат ожидаете?
Что то типа такого надо
Egor
Не понимаю я, что я делаю( Возможно, забыл. Как проверить?
Наследоваться нужно было от Activity. И там в onCreate это сделать.