
Leo
30.04.2017
21:06:26
Подскажите пожалуйста, если я меняю айдишник в xml, а датабиндинг без ребилда не подхватывает - это норма?

Alexey
30.04.2017
21:38:39
котлинисты...
как починить блеа?(

Google

Alexey
30.04.2017
21:38:40
хочу как в джаве вызвать конструктор родителя и туда передать itemView

Quantum Harmonizer
30.04.2017
21:44:28
Есть primary constructor, который задаётся объявлением класса, например
class SomeHolder(view: View) : BaseHolder<...>(view)
, тело его располагается в блоке init { ... }.
И есть secondary constructors:
constructor(view: View) : super(view) {
...
}
class SectionViewHolder(itemView: View) : BaseViewHolder<SectionHeader>(view) {
private val tvText: TextView = itemView as TextView
override fun bindItem(item: SectionHeader) { ... }
}
Пойду спать, пока кот не запалил, что я сижу с его аккаунта. Успехов.

Alexey
30.04.2017
22:02:21
спасибо

Boris
01.05.2017
06:10:17

Igor
01.05.2017
17:10:41
Народ, у вас "extract variable" работает внутри when (после ->)?

Sergey
01.05.2017
17:23:53
idea 2017.1.2

Igor
01.05.2017
17:30:17
ага
попробуй выделить внутри скобок 2+2 и экспортировать
when {
else -> (2 + 2)
}

Sergey
01.05.2017
17:31:04
если выделить только 2, то работает

Leo
01.05.2017
22:09:04

Google

Igor
02.05.2017
09:56:17
Кто-нибудь тыкал ReactNative + Kotlin? Ну или обычный ReactJS?

Quantum Harmonizer
02.05.2017
10:00:29

Sergey
02.05.2017
10:00:59
Обычный тыкали

Igor
02.05.2017
10:01:58
Обычный тыкали
Есть пример на github? Как вообще впечатления, камни подводные?

Sergey
02.05.2017
10:02:03
https://github.com/andrewoma/reakt
Это использовали, но в планах перейти от jb
Примера нет

Igor
02.05.2017
10:04:45

Sergey
02.05.2017
10:14:24
Были какие-то заморочки... Для меня frontend в новинку...

Igor
02.05.2017
12:12:52
Зачем у метода с default-аргументами, в его генерируемый синтетический метод, добавляется последним аргументом java.lang.Object?
Туда передается null и внутри он не используется.

Dzmitry
02.05.2017
12:26:50
господа, и дамы (если присутсвуют), а никто не знает, что-нибудь вроде чекстайла для котлина уже завесли или пока еще нет?

Quantum Harmonizer
02.05.2017
12:27:09

Dzmitry
02.05.2017
12:28:28
тогда нужен #codingconventions as service )) Имеется ввиду тулза, которая смотрит, что бы скобочки там где надо стояли. Для жавы у нас прикручено, а в Котлине разброт и шатание поэтому

Андрей
02.05.2017
12:28:50

Quantum Harmonizer
02.05.2017
12:28:55

Dzmitry
02.05.2017
12:29:34
ясно. спасибо.

Quantum Harmonizer
02.05.2017
13:01:16
$default принимает все параметры, которые принимал бы метод, + битовую маску, показывающую, какие параметры переданы, + какой-то Object.

Google

Андрей
02.05.2017
13:09:47

Quantum Harmonizer
02.05.2017
13:10:11

Igor
02.05.2017
16:43:38
Есть способ ограничить тип ключей HashMap, чтобы было видно что они имлементят 2 интерфейса?
PS
- общий интерфейс сделать не могу тк нужно использовать библиотечный классы
- мапка должна быть property НЕ дженерик класса

Михаил
02.05.2017
16:45:46

Igor
02.05.2017
16:46:00

? animufag ?
02.05.2017
16:46:01
ну да тип Either

Igor
02.05.2017
16:47:11
ну да тип Either
У меня есть куча библиотечных классов (они не мои), они не имеют общего класса, но прим этом наследуют 2 одинаковых интерфейса.
Мне надо как-то их класть в одну hashmap как ключ.
Как мне тут может Either? Если понимаешь, скинь пример кода.

? animufag ?
02.05.2017
16:47:16
там правда ключ не будет реализовывать нужный тебе интерфейс
а понял нужно чтобы и тот и другой интерфейс для каждого класса
я думал один ИЛИ другой интерфейс

Igor
02.05.2017
16:51:43
ОК, разобрался в своей проблеме, вопрос снят.

? animufag ?
02.05.2017
16:52:08
вопрос изменился или ты его решил?

? animufag ?
02.05.2017
16:57:47
ну в общем в джаве можно амперсенд ставить,в котлине не могу найти аналог. ну и самому применить амперсенд в мапе не вышло.

Igor
02.05.2017
16:57:51
вопрос изменился или ты его решил?
Вопрос изменился, я понял что мне это не нужно.
Нужно было просто generic метод у которого T экстендит сразу 2 типа, а с этим в Kotlin все норм.

? animufag ?
02.05.2017
16:58:52
да удобно

Quantum Harmonizer
02.05.2017
17:34:32

? animufag ?
02.05.2017
17:35:37
так а разве вот это where не всегда заменит джавовый амперсенд?

Quantum Harmonizer
02.05.2017
17:39:17
В Java, кажется, тоже нельзя так.) Только extends A & B.

Google

Quantum Harmonizer
02.05.2017
17:44:02
я смог только так (Java), что печально, ибо тип виден снаружи
class Intersect<T extends Serializable & Cloneable> {
private final Map<String, T> hm = new HashMap<>();
}

Ruslan
03.05.2017
09:29:51
Есть тут кто-то ко пользуется сервисом BudyBuild и На нем билдит проект с Kotlin 1.1.2 c подключенной либой Realm ?)

Admin
ERROR: S client not available

Ruslan
03.05.2017
09:31:34
вроде
если возвращаю к 1.1.1 то снова норм билдит

Михаил
03.05.2017
09:37:54
подключи явно apply plugin: 'kotlin-kapt'

Руслан
03.05.2017
09:41:40
еще 1.1.2 требует java 8

Aliaksandr
03.05.2017
09:46:34

Руслан
03.05.2017
09:47:18
То что идет вместе идей, так называемая bundled, вроде используется только для запуска самой идеи
Так что нужно скорее всего ставить Java 8
> The Kotlin compiler now requires JDK 8 to run. You shouldn’t notice any changes, because most other Java development tools such as Gradle and the Android toolchain also require JDK 8, so you almost certainly already have it installed. For code generated by the compiler, Java 1.6 compatibility is still the default, and we have no plans to drop support for generating Java 1.6 compatible bytecode.
https://blog.jetbrains.com/kotlin/2017/04/kotlin-1-1-2-is-out/

Марат
03.05.2017
13:49:30
ПОдскажите, пожалуйста, как в котлине получить поля вот такого энама: NAME(String, Int). Нужно например получить поле Int. Нужно писать свои геттеры?

Михаил
03.05.2017
13:51:21
в котлине здесь геттеры не нужны
если юзаешь праймари конструктор, то просто добавь перед объявлением аргумента конструктора val или var

Марат
03.05.2017
13:54:08

Igor
03.05.2017
14:54:35
Кто как обходит проблему того что нельзя расширить data класс ?

Pavel Shackih
03.05.2017
14:54:53

Igor
03.05.2017
14:56:49

Pavel Shackih
03.05.2017
14:57:33
не обязательно через делегаты. можно просто включать нужные внутрь

Google

Igor
03.05.2017
14:58:25
понятно...бедапечаль

Quantum Harmonizer
03.05.2017
14:59:03
понятно...бедапечаль
да ну, всё правильно.
Если унаследовать дата класс и добавить новое поле, как определить, что объекты разных классов равны?

Igor
03.05.2017
15:01:59
Если объекты разных классов, то они никак не могут быть равны. Я не вижу тут нестыковок, все верно, они не равны, и никогда не будут.

Pavel Shackih
03.05.2017
15:04:37

? animufag ?
03.05.2017
15:05:52
каст так работает?

Quantum Harmonizer
03.05.2017
15:05:53
короч, composition over inheritance :)

? animufag ?
03.05.2017
15:07:22
ладно понял
equals будет не тот что ты ожидаешь от типа

Pavel Shackih
03.05.2017
15:09:01
подскажите плз, написал такую простую функцию чтобы заполнять бандл чуть красивее
inline fun bundle(f: Bundle.() -> Unit): Bundle = Bundle().apply { f(this) }
посмотрел в байткоде, для нее генерится 3 CHECKCAST: 2 для инлайн функций и третий, видимо, для результата. наверное, это не очень оптимально, по идее ведь можно было обойтись одним или двумя, это баг какой-то или норм?

Igor
03.05.2017
15:09:43
Ну не один я страдаю по этой фиче )) https://github.com/Kotlin/KEEP/blob/master/proposals/data-class-inheritance.md

Quantum Harmonizer
03.05.2017
15:10:26