
Михаил
07.06.2017
13:08:13
:(

Quantum Harmonizer
07.06.2017
13:10:12

Михаил
07.06.2017
13:12:54
К вьюхам.
он в common пакете есть? а то его нет)

Google

Quantum Harmonizer
07.06.2017
13:13:51

Igor
07.06.2017
13:34:39
Можно ли сделать для enum-а метод, который не будет абстрактным, и будет работать с этим конкретным енумом (то есть не а-ля статический companion object, а именно обычный такой метод)?

Quantum Harmonizer
07.06.2017
13:36:40

Igor
07.06.2017
13:36:54

Quantum Harmonizer
07.06.2017
13:37:00

Ivan
07.06.2017
13:37:10
Экстеншн не?

Quantum Harmonizer
07.06.2017
13:37:27
enum class ... {
CONSTANT0, CONSTANT1, .. ;
fun ...
}

Igor
07.06.2017
13:37:27
Да, конечно
А как - не подскажете? У меня что-то обычный fun после определения enum-ов не воспринимается идеей

Quantum Harmonizer
07.06.2017
13:37:34

Igor
07.06.2017
13:37:35

Quantum Harmonizer
07.06.2017
13:37:48

Igor
07.06.2017
13:38:19

Google

Quantum Harmonizer
07.06.2017
13:40:06
Нуу, либо текстом, либо с сообщением об ошибке)

Igor
07.06.2017
13:40:09
compareTo hides member of supertype 'Enum' and needs 'override' modifier

Quantum Harmonizer
07.06.2017
13:40:27
Ну, собственно, вот)

Igor
07.06.2017
13:40:39
override ничего не дает
Ой, лол

Quantum Harmonizer
07.06.2017
13:40:57
Потому что compareTo финальный.

? animufag ?
07.06.2017
13:40:57
какая следующая ошибка?

Igor
07.06.2017
13:40:59
зарезервированное имя
супер
Спасибо, разобрался
они сделали final compareTo в Enum

Михаил
07.06.2017
13:41:24
супер
Нет. Просто у класса енам уже есть compareTo
Он нефинальный

Igor
07.06.2017
13:41:49
Он нефинальный
Там написано, что финальный, если попробовать override написать

Quantum Harmonizer
07.06.2017
13:41:53

Михаил
07.06.2017
13:42:09
забавно
хотя это же не прикол котлина
а прикол джавы

Quantum Harmonizer
07.06.2017
13:42:44
Ну да, это java.lang.Enum

Google

Nikita
07.06.2017
13:46:28
Еще вопрос по поводу котлина. В документации я не нашел прямого аналого статиеских переменных класса, но нашел разные способы объявления коих. Наприме в activity/fragment мы часто можем встретить некоторые текстовые константы, являющиеся ключами для Bundle, например -
public static final String EXTRA_PROPERY = "extra_property";
. Каким образом с помощью котлина при разработке под андроид принято объявлять "статические" переменные?

Михаил
07.06.2017
13:47:05
либо топ левел функции и поля

Nikita
07.06.2017
14:19:54
а по поводу топ-лвл-экстеншн-функции - можно же объявить что то вроде BaseActivity и там определить метод. Это ведь ближе к ооп?

Михаил
07.06.2017
14:27:54

Quantum Harmonizer
07.06.2017
14:27:58

Михаил
07.06.2017
14:28:27
экстеншн функции приходят на помощь там, где невозможно вклиниться в наследование
а это часто так

Nikita
07.06.2017
14:29:04

Михаил
07.06.2017
14:29:47
ну Егор говорит что по ооп только interface inheritance

Quantum Harmonizer
07.06.2017
14:29:54
Егор Бугаенко годную вещь сказал, что эти ваши BaseActivity, AbstractList и т. п. не вносят нового контракта.
И если нужно переиспользовать какой-то функционал, то он должен находиться в отдельном классе.
Я не следую его учению на 100%, но мысль очень годная, мне кажется.

Михаил
07.06.2017
14:30:38
+

Umren
07.06.2017
14:39:25

Quantum Harmonizer
07.06.2017
14:39:42
кто-то, видимо, ушёл)

? animufag ?
07.06.2017
14:40:04
жду 1488

Quantum Harmonizer
07.06.2017
14:40:11

Google

Umren
07.06.2017
14:40:13
или его убили, что логичнее было бы

Anton
07.06.2017
15:25:47
Подскажи плиз:
Инициализирую переменную val taskSet: MutableSet<Task> В неё загружается ранее сохраненый в preferences Set. Но может и прийти null если ничего не сохранено. Вопрос в том, как правильно написать что если из префоф вернется null, то инициализируем пустой Set. Конечно можно поменять val на var и добавить проверку ниже, но что-то мне подсказывает что есть более простой выход

Quantum Harmonizer
07.06.2017
15:26:45

Egor
07.06.2017
15:27:48
^ хороший вариант

Anton
07.06.2017
15:29:34
Спасибо

Badya
07.06.2017
16:58:43
fun format(string: String, vararg args:Any = emptyArray()) {
Formatter.format(string, args) // passing args to java
}
fun example() {
format("qwe %1$d %2$s", 123, "asd")
}
// Exception: %d != Ljava.lang.Object
// 123 passed as boxed java.lang.Integer
Как можно обойти это, кто-нибудь знает?
Или писать багу в JB?)

Admin
ERROR: S client not available

Egor
07.06.2017
17:00:49
Приведи к типу
Передай как число
Или как стринг

Михаил
07.06.2017
17:01:24
косяк компиляторв?

Egor
07.06.2017
17:01:27
Или фортам поменяй на %s

Anton
07.06.2017
17:01:34
а можно ли мокать классы через мокито ведь они все по умолчанию файнал? или нужно юзать павермок или есть какая то аннотация?
или вообще юзать спек

Badya
07.06.2017
17:01:46
Табл в том что уходит в либ функцию андройда, и единственное что я думаю, это реплейснуть $d на $s

Михаил
07.06.2017
17:02:27

Anton
07.06.2017
17:02:51
а то смотрю видео годовалой давности там Бреславу и Жемерову этот вопрос задали и я задумался)
спасибо

Vitalii
07.06.2017
17:02:55
Или писать багу в JB?)
Может уже есть аналогичный репорт с предложенным костылём? Больно частый кейс должен быть.

Google

Badya
07.06.2017
17:03:12
Поищем)

Михаил
07.06.2017
17:03:21

Anton
07.06.2017
17:03:42
что это? еще одна либа?
поверх мокито

Михаил
07.06.2017
17:03:57
да. просто набор экстеншенов

Anton
07.06.2017
17:04:03
понял спасибл)

Михаил
07.06.2017
17:04:09
без которого будет больновато

Badya
07.06.2017
17:25:00
%d ждёт анбоксед int
А котлин не анбоксит

Михаил
07.06.2017
17:29:30

Badya
07.06.2017
17:32:35
Это пример просто

Михаил
07.06.2017
17:32:50
Formatter.format(string, *args)
вот так попробуй

Badya
07.06.2017
17:34:01
Попробую)
Спасибо!

Михаил
07.06.2017
17:34:53
все внимание на звездочку перед args - она как раз делает анпакинг

Badya
07.06.2017
17:40:03
Смекнул, ага)

Антон
07.06.2017
17:45:31
Глупый вопрос: если у меня класс помечен как internal, то и все свойства и функции у него тоже по дефолту internal?