Size: a a a

Android Developers

2020 July 04

AD

Aleksey D. in Android Developers
Ilnar
Привет,
Как лаконично сделать поиск минимального по опционально включаемым полям?

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

val isLifeLimitChecked = true //значение меняется с чеубокса
val isMoneyChecked = true //значение меняется с чеубокса


people.minBy {
//А тут нужно найти человека у которого значение полей минимальна, а каких полей решают выше приведенные болеан поля.. т.е. поиск может быть по одному полю или по двум или по трем ...
}
people - это уже множественное число, слово peoples не существует

для решения задачи нужно понять, как эту минимальность определить
например, у объекта есть четыре свойства.
1: { 1, 1, 4, 1 }
2: { 1, 4, 1, 1 }

какой из этих объектов считать большим/меньшим?)
источник

I

Ilnar in Android Developers
People - Ага)
источник

AD

Aleksey D. in Android Developers
возможно, тебе прокатит находить сумму всех полей и по ней сравнивать) очень же зависит от условий
источник

SL

Sergey Lavinov in Android Developers
Всем привет, кто-нибудь знает, как работает SurfaceView? Android запрещает трогать UI из других потоков, но SurfaceView же трогает как-то
источник

SL

Sergey Lavinov in Android Developers
Гугл почему-то игнорирует мой вопрос и выдаёт статьи о том, какая это крутая штука и что с ней можно в другом потоке рисовать
источник

SL

Sergey Lavinov in Android Developers
О том, почему она такая крутая никто не говорит
источник

I

Ilnar in Android Developers
Aleksey D.
возможно, тебе прокатит находить сумму всех полей и по ней сравнивать) очень же зависит от условий
В Колин есть библиотечная функция minBy которая принимает лямбду, я туда могу отправить что-то типа этого

minBy { field_1 and field_2 and field_3 and field_4 and field_5}
Как я понял, все будет работать, найдет самую минимальную по всем полям.

Но field_N должен встраиваться в лямбду  только если соответствующий field_N чекбокс включен.

Чем можно заменить перебор через if else всевозможных комбинаций?

minBy { field_1 and field_2 and field_3 and field_4}

minBy { field_2 and field_3 and field_4 and field_5}

minBy { field_3 and field_4 and field_5}

И т.д.
источник

AD

Aleksey D. in Android Developers
Ilnar
В Колин есть библиотечная функция minBy которая принимает лямбду, я туда могу отправить что-то типа этого

minBy { field_1 and field_2 and field_3 and field_4 and field_5}
Как я понял, все будет работать, найдет самую минимальную по всем полям.

Но field_N должен встраиваться в лямбду  только если соответствующий field_N чекбокс включен.

Чем можно заменить перебор через if else всевозможных комбинаций?

minBy { field_1 and field_2 and field_3 and field_4}

minBy { field_2 and field_3 and field_4 and field_5}

minBy { field_3 and field_4 and field_5}

И т.д.
val criteria = setOf(MyCls.FIELD_1, MyCls.FIELD_2, …)
val fields = people.map { it.asMap().filter { criteria.contains(it.key) } }
val result = fields.minBy { it.reduce(0) { acc, entry -> acc and entry } }
источник

I

Ilnar in Android Developers
Aleksey D.
val criteria = setOf(MyCls.FIELD_1, MyCls.FIELD_2, …)
val fields = people.map { it.asMap().filter { criteria.contains(it.key) } }
val result = fields.minBy { it.reduce(0) { acc, entry -> acc and entry } }
Спасибо, попробую
источник

AD

Aleksey D. in Android Developers
Ilnar
В Колин есть библиотечная функция minBy которая принимает лямбду, я туда могу отправить что-то типа этого

minBy { field_1 and field_2 and field_3 and field_4 and field_5}
Как я понял, все будет работать, найдет самую минимальную по всем полям.

Но field_N должен встраиваться в лямбду  только если соответствующий field_N чекбокс включен.

Чем можно заменить перебор через if else всевозможных комбинаций?

minBy { field_1 and field_2 and field_3 and field_4}

minBy { field_2 and field_3 and field_4 and field_5}

minBy { field_3 and field_4 and field_5}

И т.д.
вероятно, Миша в своем проекте показал, как это делать правильно
https://github.com/Miha-x64/Lychee#approach-to-declaring-data
источник

I

Ilnar in Android Developers
источник

•к

•̶̺̦̪̤̩͉̭̙̺̮̯̏͐ͪ̔ͥ͢͢... in Android Developers
Сработает ли такой код на android 8 и выше? Просто нет возможно протестировать (
источник

a

a in Android Developers
•̶̺̦̪̤̩͉̭̙̺̮̯̟̙̘͓̩̜̲̻͇̻̤̙̠͍̗̹̏͐ͪ̔ͥ͢͢ͅ_̶̢̧͚̼͓̰̱̞̦̹̖̱̣̾̈́̏ͤ̃̌̏͋̂ͭ карпов
Сработает ли такой код на android 8 и выше? Просто нет возможно протестировать (
по-моему надо еще добавить setPriority
источник

a

a in Android Developers
к билдеру
источник
2020 July 05

DS

Daniel Sergeev in Android Developers
источник

DS

Daniel Sergeev in Android Developers
Привет, подскажите, почему в updateListener 0f и затем сразу 1f?
источник

DS

Daniel Sergeev in Android Developers
где теряются промежуточные состояния и как такое возможно?
источник

VS

Vyacheslav S in Android Developers
тебе даже IDEя подсветила
источник

DS

Daniel Sergeev in Android Developers
Что мне подсветила IDE?
источник

VS

Vyacheslav S in Android Developers
у тебя переменная не юзается
источник