@kotlin_lang

Страница 120 из 982
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
спасибо

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

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
Подскажите пожалуйста, если я меняю айдишник в xml, а датабиндинг без ребилда не подхватывает - это норма?
Кажись, дело в капте: получается, его надо явно пинать, чтобы запускался. Я правильно понимаю?

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

Quantum Harmonizer
02.05.2017
10:00:29
Кто-нибудь тыкал ReactNative + Kotlin? Ну или обычный ReactJS?
JB тыкали, можно непосредственно у них спросить.

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
Это использовали, но в планах перейти от jb
Это же первая ссылка в google. Расскажи что-нибудь из личных впечатлений.

Sergey
02.05.2017
10:14:24
Это же первая ссылка в google. Расскажи что-нибудь из личных впечатлений.
её не было еще месяц или около того назад. А начали использовать уже наверное год назад. Это домашний вялотекущий проектик. Да так, работает... :)

Были какие-то заморочки... Для меня frontend в новинку...

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

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

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

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

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

Google
Андрей
02.05.2017
13:09:47
$default принимает все параметры, которые принимал бы метод, + битовую маску, показывающую, какие параметры переданы, + какой-то Object.
Если я правильно понял Игоря, то он и спрашивал зачем нужен последний параметр (какой-то Object). В сгенерированном методе он не юзается, и закидывается туда всегда как null. С остальными параметрами понятно зачем они нужны.

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

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 все норм.

ну в общем в джаве можно амперсенд ставить,в котлине не могу найти аналог. ну и самому применить амперсенд в мапе не вышло.
В самом низу (у классов также) https://kotlinlang.org/docs/reference/generics.html Очень кстати на C# похоже

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

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

Quantum Harmonizer
02.05.2017
17:39:17
так а разве вот это where не всегда заменит джавовый амперсенд?
Хммм... онлайн-конвертер просто игнорирует поле, когда там есть intersection тип.

В 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
еще 1.1.2 требует java 8
Нормальной java 8, или той, что предлагается в новой AS хватит?

Руслан
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

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

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
Если объекты разных классов, то они никак не могут быть равны. Я не вижу тут нестыковок, все верно, они не равны, и никогда не будут.
так их можно будет скастить к предку, а equals будет переопределен у дочерних и как дать гарантию, что не будет каких-то нестыковок?

? 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

Страница 120 из 982