Size: a a a

Android Developers

2020 May 20

AD

Aleksey D. in Android Developers
D
1. Сетевой запрос
2. Результат запроса показываю уведомлением .
для этого WorkManager отлично подходит, если не важно выполнить что-то здесь и сейчас
источник

D

D in Android Developers
Aleksey D.
для этого WorkManager отлично подходит, если не важно выполнить что-то здесь и сейчас
Я всё сделал, единственная проблема, при закрытии приложения и воркер останавливается
источник

K

Kasem in Android Developers
не подскажите как можно сделать такой tablayout ?
источник

AD

Aleksey D. in Android Developers
D
Я всё сделал, единственная проблема, при закрытии приложения и воркер останавливается
он проснется позже, когда система разрешит
если ты его правильно используешь, конечно
источник

D

D in Android Developers
Aleksey D.
он проснется позже, когда система разрешит
если ты его правильно используешь, конечно
Скорее надо было по-другому задать вопрос, он сразу отключается при первом запуске. Т.е я его включаю и сразу закрываю приложение (ну пытаюсь найти баги), и он больше не делает ничего
источник

M[

MatnazaroFF [InSoft] in Android Developers
Kasem
не подскажите как можно сделать такой tablayout ?
источник

AD

Aleksey D. in Android Developers
D
Скорее надо было по-другому задать вопрос, он сразу отключается при первом запуске. Т.е я его включаю и сразу закрываю приложение (ну пытаюсь найти баги), и он больше не делает ничего
надо подождать минут 20 еще
плюс показать код, например
источник

D

D in Android Developers
Aleksey D.
надо подождать минут 20 еще
плюс показать код, например
Ждал уже, ладно спасибо. Сам попробую разобраться )
источник

AL

Andrei Legan in Android Developers
Скажите правильно ли ссылку на binding запихивать в AndroidViewModel ? тогда не теряются привязки методов к элементам (кнопкам) как бы удобно и не нужно перепривязывать всё это в onResume , но я не уверен что это верно.
источник

AL

Andrei Legan in Android Developers
и где стоит создавать по правильной концепции MVVM , методы onClick(View view) в классе фрагмента , или в классе ViewModel ? Адаптеры для RecyclerView ? стоит хранить во ViewModel или в классе фрагмента ? если они лежат в модели то как бы при поворотах можно не парится все данные в них сохранятся , но это вроди как не верно .. или я что то не так понимаю
источник

B

Begemot in Android Developers
должно быть наоборот. Вьюмодель излучает данные, а биндинг на них подписывается. Вьмодель о вьюхе знать ничего не должна

В общем случае ты сетаешь вьюмодель в свою вьюху во фрагменте типа
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}"
источник

B

Begemot in Android Developers
вьюмодель и данные в ней будут переживать повороты, на лайвдату переподписка тоже будет осуществляться автоматически
источник

S

Singular in Android Developers
Какой компоненгт можно использовать, чтобы сделать кнопку play / pause. Хочу через Selector менять состояние кнопки
источник

S

Singular in Android Developers
<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. И ничего не работает когда нажимаю
источник

B

Begemot in Android Developers
попробуй вместо state_checked android:state_enabled и при нажатии на кнопку дизейбли ее или энейбли
источник

AL

Andrei Legan in Android Developers
Begemot
должно быть наоборот. Вьюмодель излучает данные, а биндинг на них подписывается. Вьмодель о вьюхе знать ничего не должна

В общем случае ты сетаешь вьюмодель в свою вьюху во фрагменте типа
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 , уж больше много сейчас перелапачивать придётся
источник

АМ

Абдулмуталим Муртаза... in Android Developers
D
Ждал уже, ладно спасибо. Сам попробую разобраться )
На оболочке ксяоми при выходе из приложения, система просто останавливает все что связано с приложением, я ждал целый день, но ворк менеджер так и не запустился
источник

D

D in Android Developers
Абдулмуталим Муртазаев
На оболочке ксяоми при выходе из приложения, система просто останавливает все что связано с приложением, я ждал целый день, но ворк менеджер так и не запустился
Привет, что теперь делать тогда ?
источник

AL

Andrei Legan in Android Developers
Begemot
вьюмодель и данные в ней будут переживать повороты, на лайвдату переподписка тоже будет осуществляться автоматически
а если мне по нажатию на кнопку нужно запустить другую активность, что через кэлбек вещать фрагменту что бы вызвал ?
источник

B

Begemot in Android Developers
Andrei Legan
а если мне по нажатию на кнопку нужно запустить другую активность, что через кэлбек вещать фрагменту что бы вызвал ?
можешь так же эмитить лайвдату и на нее подписаться в фрагменте. Чтобы ручками от коллбека не отписываться потом
источник