Size: a a a

Android Developers

2020 June 19

A

Arthur in Android Developers
Как вариант смотреть в активити на onBackPressed текущий destination и если Id==...  то finish()
источник

S

Singular in Android Developers
Arthur
Как вариант смотреть в активити на onBackPressed текущий destination и если Id==...  то finish()
А если проще и без гавнокода?
источник

OH

Oleksandr Hulak in Android Developers
Denis
Господа, подскажите, а что это за новшество? Кидаешь кнопку, а она сразу синяя. Пытаюсь фон поменять, толку нету. Кто-то может сталкивался с таким?
Там же явно прям подсвечен main_background
источник

ГА

Георгий Авакян... in Android Developers
Всем привет, как можно загрузит перед запуском прилки все нужные данные? Сейчас старт Активити использую, мб есть альтернатива?
источник

АZ

А - Z in Android Developers
Denis
Господа, подскажите, а что это за новшество? Кидаешь кнопку, а она сразу синяя. Пытаюсь фон поменять, толку нету. Кто-то может сталкивался с таким?
main_background задан как синий
источник

D

Denis in Android Developers
А - Z
main_background задан как синий
Нет, там градиент. Это баг какой то что ли
источник

ГА

Георгий Авакян... in Android Developers
Denis
Нет, там градиент. Это баг какой то что ли
Backgroundtint попробуй
источник

D

Denis in Android Developers
Георгий Авакян
Backgroundtint попробуй
Хм, действительно. Почему-то установлен цвет сразу из color.xml.
Это с 4 версии так ввели?
источник

ГА

Георгий Авакян... in Android Developers
Denis
Хм, действительно. Почему-то установлен цвет сразу из color.xml.
Это с 4 версии так ввели?
Хз
источник

DU

Dmitriy Ustinov in Android Developers
Есть baseActivity в котором в  onResume() стоит проверка изменилась ли тема или нет и если изменилась то задается новая тема и вызывается  recreate(). Все остальные активити расширяют ее. Все работает норм, но заметил, что когда вызывается recreate() жизненный цикл странный: ...onDestroy()->onCreate()->onStart()->onResume()->onPause();/ Почему вызывается onPause() ,ведь активити видна в данный момент?
источник

Т

Тимур in Android Developers
Хотел бы прояснить такой момент работы с вьюмоделью.

Приложение берет из сети список данных и отображает их. Если пришел пустой список, значит не удалось получить данные, тогда показываю ошибку и кнопку для повторной попытки загрузки данных.

Я вижу два варианта реализации:

1. Во вьюмодели хранится только livedata со списком данных, а активити подписывается на него. Получается, в активити будет логика, если список не пустой, показывать данные из списка, если список пустой, значит, не удалось получить данные из сети и нужно показать ошибку и кнопку для повторной попытки загрузить данные.

2. Во вьюмодели хранится не только livedata со списком данных, но и livedata<Boolean> - показывать ли ошибку, а так же livedata<Boolean> - показывать ли кнопку перезагрузки. Затем, когда вьюмодел получает данные из сети, если пришел не пустой список, то обновляет только состояние для livedata списка, если список пустой, то обновляет livedata который отвечает за состояние показа ошибки и livedata отвечающий за состояние показа кнопки перезагрузки.

Мне больше нравится 2 вариант. Сейчас он и реализован. Но не знаю, правильно ли это?
источник

Т

Тимур in Android Developers
Пардон за многобукв)
источник

АК

Алексей Колодин... in Android Developers
Лень читать , но скажу так, во вьюмоделе бизнес логика, в активити ui
источник

А

Андрей in Android Developers
Тимур
Хотел бы прояснить такой момент работы с вьюмоделью.

Приложение берет из сети список данных и отображает их. Если пришел пустой список, значит не удалось получить данные, тогда показываю ошибку и кнопку для повторной попытки загрузки данных.

Я вижу два варианта реализации:

1. Во вьюмодели хранится только livedata со списком данных, а активити подписывается на него. Получается, в активити будет логика, если список не пустой, показывать данные из списка, если список пустой, значит, не удалось получить данные из сети и нужно показать ошибку и кнопку для повторной попытки загрузить данные.

2. Во вьюмодели хранится не только livedata со списком данных, но и livedata<Boolean> - показывать ли ошибку, а так же livedata<Boolean> - показывать ли кнопку перезагрузки. Затем, когда вьюмодел получает данные из сети, если пришел не пустой список, то обновляет только состояние для livedata списка, если список пустой, то обновляет livedata который отвечает за состояние показа ошибки и livedata отвечающий за состояние показа кнопки перезагрузки.

Мне больше нравится 2 вариант. Сейчас он и реализован. Но не знаю, правильно ли это?
Лучше всего написать sealed class с твоими стейтами данных и прочего. И 1 LiveData  для этого класса.
А в активити уже можно будет понять какой подтип sealed класса и выполнить соответствующие детали.
источник

D

Denis in Android Developers
всё ещё хуже. Вообще нельзя ничего с кнопкой сделать. Ни цвет, ни форму вообще ничего.
источник

ГА

Георгий Авакян... in Android Developers
Denis
всё ещё хуже. Вообще нельзя ничего с кнопкой сделать. Ни цвет, ни форму вообще ничего.
А тема какая родительская стоит? Material?
источник

D

Denis in Android Developers
да
источник

D

Denis in Android Developers
в этом может быть проблема?
источник

М

Максим in Android Developers
В ресайклере есть итем, высота которого сильно меняется когда биндятся данные, и этот итем скачет вверх вниз соответственно, как этого избежать?
источник

D

Denis in Android Developers
Георгий Авакян
А тема какая родительская стоит? Material?
всё, спасибо за наводку. Надо в манифесте Button заменить на android.widget.Button
источник