
Artur
10.07.2017
13:53:57
При попытке десерилизовать ругается
from number 4: index value outside legal index range [0..3]
com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not deserialize value of type number 4: index value outside legal index range [0..3]
at [Source: {"saveLogLevel":3,"sentLogLevel":4,"userBehaviour":1}; line: 1, column: 34]

whalemare
10.07.2017
13:55:26

Artur
10.07.2017
13:55:41
И родной и кастомный одинаково ругаются

Google

Artur
10.07.2017
13:56:03
такая зависимость
com.fasterxml.jackson.module:jackson-module-kotlin
Тоже прикручена

Boris
10.07.2017
13:56:36
Я вот даже не представляю куда эта аннотация на энуме попадет

whalemare
10.07.2017
13:56:42
мб надо строку передавать а не число?

Boris
10.07.2017
13:57:40
Вообще для энумов у Джексона свои настройки

Artur
10.07.2017
13:58:04

whalemare
10.07.2017
14:00:37
✌️

Саша Батанова
10.07.2017
15:00:11
привет! а почему нельзя сделать так:
myEditText.text = ""
в джаве ведь можно было установить текст?

Anton
10.07.2017
15:01:11
as TextView не забыла?
тьфу
as EditText

Google

Anton
10.07.2017
15:01:42
при инициализации

Igor
10.07.2017
15:02:07

Саша Батанова
10.07.2017
15:02:23

Anton
10.07.2017
15:02:46
покажи код

Саша Батанова
10.07.2017
15:02:50
myEditText.setText(""); - было же такое

Anton
10.07.2017
15:03:20
было и есть

Igor
10.07.2017
15:03:20
Ну и делай, как на Java:
myEditText.setText(“”)

Саша Батанова
10.07.2017
15:03:39
не покажу) не имею возможности

Igor
10.07.2017
15:03:47

Саша Батанова
10.07.2017
15:04:15
а
черт) точн)

Roman
10.07.2017
16:55:22
Где под Андроид будет правильно прописывать extension functions, если я хочу ими заменить Utils класс?
В наследнике Application?

Михаил
10.07.2017
16:56:25

Igor
10.07.2017
16:56:31
Я обычно в файле commons.kt (если что-то специфичное, то в /commons/<что-будем-расширять>-extensions.kt )

Антон
10.07.2017
17:12:27
Я бы создал пакет extension, в котором создал бы файл View.kt, в который бы запихнул все екстеншены для вью

Dibro
10.07.2017
22:24:36

Жабра
10.07.2017
22:26:17
Кстати, вопрос: почему чаще всего в примерах классы называют Foo? Уже не однократно это видел.

Vladislav
10.07.2017
22:27:07
Foo bar
гугли

Google

Михаил
10.07.2017
22:33:05

Dibro
10.07.2017
22:34:17

Михаил
10.07.2017
22:34:52
но в классе же)
и нестатическая насколько помнюю

Dibro
10.07.2017
22:38:34
а я думал речь шла об экстеншене для которого объект необходим

Михаил
10.07.2017
22:43:09

Dibro
10.07.2017
22:43:44
я уже говорил выше, такие экстеншены работают внутри класса и его наследников

Михаил
10.07.2017
22:45:09
ну из джавы же можно
почему из котлина нет

Dibro
10.07.2017
22:46:02
ну в джаве экстеншенов то и нет

Dibro
10.07.2017
22:46:17
там просто метод с ресивером же?

Михаил
10.07.2017
22:46:31
да

Nikita
11.07.2017
09:56:57
Друзья, посоветуйте пожалуйста корретный сопосб объявления класса унаследованного от viewHolder для recyclerView в андроид. Интересует способ объявления. До этого в java это был обыкновенный вложенный статик класс со своим конструктором/методами. В котлине на сколько я знаю статические параметры класса объявляются либо с помощью аннотации @JvmStaic либо companion onbject. Как поступаете вы в таком случае?

Anton
11.07.2017
09:57:33
так он по умолчанию не иннер

Nikita
11.07.2017
09:58:31
в книге korlin for android судя по всему именно так и советуют. Не делает его статическим.

Anton
11.07.2017
09:59:24
ну его делают статическим чтобы не было ссылки на енклосинг в джаве. а тут у него нет ее без модификатора иннер. вроде так)

Oleg
11.07.2017
10:00:48
Тоесть не добавлять ему никакой модификатор,

Михаил
11.07.2017
10:02:02

Google

Oleg
11.07.2017
10:02:13
Спасибо)

Nikita
11.07.2017
10:06:12
Точно, Inner classes carry a reference to an object of an outer class:. Благодарю

Igor
11.07.2017
10:15:00
Занимаюсь сейчас переписыванием одного довольно большого и плохо написанного проекта с java на kotlin, постоянно натыкаюсь там на туеву хучу статически инициализированных переменных, носящих служебный характер, из-за чего не получается нормально сделать в функциональном стиле кодирование/декодирование, шифрование/дешифрование. Вопрос такой: насколько плохим тоном считается статически лениво инициализировать что-нибудь, если сравнивать это с передачей контейнера со всем необходимым в функцию напрямую?

Quantum Harmonizer
11.07.2017
10:15:48

Egor
11.07.2017
10:15:49
делать компаньон??

Igor
11.07.2017
10:16:10
object { val mySmth: MyType by lazy { ... } }

Egor
11.07.2017
10:16:19
выносить переменные на уроверь класса

Admin
ERROR: S client not available

Igor
11.07.2017
10:16:27
пример java-кода, который мне не нравится: https://github.com/corda/corda/blob/master/core/src/main/java/net/corda/core/crypto/Base58.java
Идеально переписать на две функции - encode/decode, но индексы и алфавит препятствуют этому

Quantum Harmonizer
11.07.2017
10:17:08

Egor
11.07.2017
10:17:17
конфертни их в котлин )

Igor
11.07.2017
10:17:55
нннормально, это же константы
окей, то есть я могу с чистой душой взять, и пихнуть их в приватный object в файле, где будут дислоцироваться функции, не привязанные к каким-либо классам?

Quantum Harmonizer
11.07.2017
10:18:29

Igor
11.07.2017
10:18:38

Roman
11.07.2017
10:21:34
+1. top-level намного лучше и идеоматичней. Делать object это лишнее

Igor
11.07.2017
10:23:36
Только вот функции с одинаковыми сигнатурами (в разные файлах), могут начать конфликтовать

Igor
11.07.2017
10:24:03

Igor
11.07.2017
10:24:51
префиксы ? (в 2k17)

Google

Igor
11.07.2017
10:26:09

Quantum Harmonizer
11.07.2017
10:26:52

Igor
11.07.2017
10:27:06

Quantum Harmonizer
11.07.2017
10:27:38

Igor
11.07.2017
10:28:57
Подчёркивания — не ок.
Их можно заменить на camelCase. А вообще, коли это весьма низкоуровневые таски, то они пишутся как на каком-нибудь C, где как-раз нотации к именованию методов с нижними подчеркиваниями

Igor
11.07.2017
10:32:55
Кстати, погоняй бенчмарки на Base58.java, когда перепишешь, интересно как изменится перформанс

Igor
11.07.2017
10:40:20
Окей

? animufag ?
11.07.2017
12:34:17
AnkoComponent композятся? один в другой можно вставлять?
AnkoContext и _LinearLayout имеют между собой что-нибудь общее?
то есть нужна реюзабельная функция чтобы
fun createView(ui: WTF) = with(ui) {
...
}
и чтобы её в фрагмент запихнуть и просто в контексте linearLayout использовать

Quantum Harmonizer
11.07.2017
14:55:20

? animufag ?
11.07.2017
14:56:32
а ну да.

Igor
11.07.2017
15:15:51
Я правильно помню, что нет кошерного способа объявить val с отложенной инициализацией?
Только такое??
val app: Application get() = _app
private lateinit var _app: Application

Boris
11.07.2017
15:17:10
lateinit var app: Application private set так не работает?
ну да, не работает

Михаил
11.07.2017
15:17:36

Boris
11.07.2017
15:18:27
лэзи круто, но нужно заранее знать откуда ты будешь брать значение

Igor
11.07.2017
15:19:20
ну да, не работает
Вроде работает, но мне IDEA при чтение из др файла подчеркивает что оно мутабельно - не могу это видеть ?
https://i.gyazo.com/d1b350fe8eca063aad24c8c9df77bafa.png

Михаил
11.07.2017
15:20:06