@kotlin_lang

Страница 247 из 982
John
13.07.2017
11:40:09


вопрос. Если я внутри этого же класса буду обращаться к recyclerView будет ли выполняться логика внутри get()

нет возможности проверить прямо сейчас, но ответ очень нужен

Евгений
13.07.2017
11:41:48
ну на null Вы же его проверяете

Google
John
13.07.2017
11:42:44
благодарю!

DarkMentat
13.07.2017
13:22:39
Народ, а у тех, у кого работает Anko Preview, какая у вас версия студии?

Dmitriy
13.07.2017
19:59:07
всем привет. я ковыряю фуллстэк пример на котлине и не совсем понимаю, как нужно организовывать работу с css? Я хочу подключить к проекту bootstrap. Я правильно понимаю, что мне нужно каким-то магическим образом сделать так, чтобы в webpack его css loader увидел файлы bootstrap и скомпилировал их? Я не сильно хорошо понимаю, как оно всё работает, поэтому подскажите просто в какую сторону копать.

всё, разобрался

Алексей
14.07.2017
02:32:59
Клуб людей, которые всегда и везде делают деньги!!! ????? Делюсь мануалами, практическими советами и темами, которые проверены лично на моем опыте и опыте моих близких! ?Вступайте в мой паблик прямо сейчас: @moneycl

Dmitry
14.07.2017
03:24:05
@dshilnikov а можно ссылочку на статью/пример?

Tipok
14.07.2017
03:57:19
Может кто поможет? http://screenshot.ru/0c60854ee59f40b6b2d70ca8c7be1e1e.png

Михаил
14.07.2017
04:26:52
Может кто поможет? http://screenshot.ru/0c60854ee59f40b6b2d70ca8c7be1e1e.png
ты не можешь у дженерика вызывать ::class, единственное, что у меня приходит в голову на этот счет, - передавать или хранить где-то необходимый Class или KClass (смотря что нужно)

Boris
14.07.2017
06:01:39
и пометить дженерик как reified

Dmitriy
14.07.2017
06:06:18
@dshilnikov а можно ссылочку на статью/пример?
привет, у меня на домашнем компе всё, если ещё актуально будет - напиши вечером

Dmitry
14.07.2017
06:10:04
@dshilnikov хорошо, если вспомню напишу

Google
Tipok
14.07.2017
06:18:50
и пометить дженерик как reified
Не затруднит написать пример для фабричной ф-ции, она должна вернуть KClass? inline fun <reified DATA : Any>DATA.getKClass() = DATA::class

Boris
14.07.2017
10:10:24
Не затруднит написать пример для фабричной ф-ции, она должна вернуть KClass? inline fun <reified DATA : Any>DATA.getKClass() = DATA::class
class SomeType<T:Any>(val type:KClass<T>) { fun getAllDetectedResults():Single<List<T>> = (store select type).get().obserable().toList() } inline fun <reified T:Any> createSomeType(): SomeType<T> = SomeType(T::class)

Artem
14.07.2017
10:51:55
Сюда: @mobile_jobs

Alexey
14.07.2017
10:51:57
@AnnDemina не туда

Quantum Harmonizer
14.07.2017
10:58:51
@AnnDemina, чтобы опубликовать вакансию в @kotlin_jobs, пишите @HeapyHop или мне.

Nick Senchurin
14.07.2017
11:50:09
господа, всех приветсвую. Меня тут на работе заставили подготовить выступление про что нибудь )) Т.к Котлин подходит под это понятие, не поделитесь какими нибудь презентациями про плюсы котлина )

шапку чата читал, но может быть есть прям готовые вкусные со слайдами)

Tony
14.07.2017
11:50:41
Фига се

885 человек

Рили?

Недавно 100 было

Anton
14.07.2017
11:51:41
когда?)

Konstantin
14.07.2017
11:52:03
Недавно 100 было
сразу после io в мае пришло очень много участников

когда?)
месяцев 5 назад:D

Tony
14.07.2017
11:52:46
Аа

Nick Senchurin
14.07.2017
11:54:48
Google: Jake Wharton Kotlin
спасибо. Пока шпилим на чистой джаве, но хочу поскорее пополнить ваши ряды

надеюсь состряпаю что-нибудь убедительное для руководства

Google
Nikita
14.07.2017
12:56:58
А как красиво обернуть в лямбду интерфейс с тремя методами?

public void beforeTextChanged(CharSequence s, int start, int count, int after); public void onTextChanged(CharSequence s, int start, int before, int count); public void afterTextChanged(Editable s); При этом два из них мне не нужны

Quantum Harmonizer
14.07.2017
12:59:49
Посмотри, как в Anko сделано.

Nikita
14.07.2017
13:02:01
Где?

Вот этот ужас сжать message.addTextChangedListener(object : TextWatcher { override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {} override fun afterTextChanged(s: Editable?) = presenter.onNewText(s.toString()) })

Quantum Harmonizer
14.07.2017
13:09:46
В anko-listeners

Михаил
14.07.2017
13:09:58
А как красиво обернуть в лямбду интерфейс с тремя методами?
два варианта, либо написать экстеншн, либо абстрактный класс

fun TextView.addAfterTextChangedListener(block: (Editable) -> Unit) { addTextChangedListener(object : TextWatcher { override fun afterTextChanged(s: Editable) = block(s) override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) = Unit override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) = Unit }) }

Nikita
14.07.2017
13:21:03
Ладно. Сделал некрасиво :)

Михаил
14.07.2017
13:21:29
Ладно. Сделал некрасиво :)
а чем мой вариант не нравится?

Nikita
14.07.2017
13:31:05
а обязательно использование всех трех методов?

хотя тут как раз 1 и используется, сорян не углядел.

Михаил
14.07.2017
13:33:02
это просто экстеншн

будет применение выглядеть editText.addAfterTextChangedListener {doDeal(it)}

в принципе банальная банальшина

Maxim
14.07.2017
15:38:32
Всем привет! А подскажите, пожалуйста, как можно вызвать конструктор родителя сначала? У меня есть класс open class User( var id: Int = 0, var username: String? = null, var name: String? = null, var image: String? = null ) : Parcelable { ... } и есть наследник open class Profile( var email: String? = null, var bio: String? = null, var birthday: String? = null, var location: String? = null, var phone: String? = null, var website: String? = null, var isPrivate: Boolean = false, var isEmailVerified: Boolean = false ) : User() { ... } студия предлагает такой конструктор, но вываливается Unmarshalling unknown type. constructor(parcel: Parcel) : this( parcel.readString(), parcel.readString(), parcel.readString(), parcel.readString(), parcel.readString(), parcel.readString(), parcel.readByte() != 0.toByte(), parcel.readByte() != 0.toByte()) Как я понимаю, это из-за того, что сначала записываются поля родителя, но читаются не в том порядке. Пока сделал так, но как-то не очень это красиво. constructor(parcel: Parcel) : this() { // читаю поля родителя // читаю свои поля } Может есть другой способ?

Quantum Harmonizer
14.07.2017
15:47:57
Всем привет! А подскажите, пожалуйста, как можно вызвать конструктор родителя сначала? У меня есть класс open class User( var id: Int = 0, var username: String? = null, var name: String? = null, var image: String? = null ) : Parcelable { ... } и есть наследник open class Profile( var email: String? = null, var bio: String? = null, var birthday: String? = null, var location: String? = null, var phone: String? = null, var website: String? = null, var isPrivate: Boolean = false, var isEmailVerified: Boolean = false ) : User() { ... } студия предлагает такой конструктор, но вываливается Unmarshalling unknown type. constructor(parcel: Parcel) : this( parcel.readString(), parcel.readString(), parcel.readString(), parcel.readString(), parcel.readString(), parcel.readString(), parcel.readByte() != 0.toByte(), parcel.readByte() != 0.toByte()) Как я понимаю, это из-за того, что сначала записываются поля родителя, но читаются не в том порядке. Пока сделал так, но как-то не очень это красиво. constructor(parcel: Parcel) : this() { // читаю поля родителя // читаю свои поля } Может есть другой способ?
Всё зависит также от реализации writeToParcel. В любом случае, рекомендую композицию.

Maxim
14.07.2017
15:51:05
мм, я не понял, что за композиция? %)

Quantum Harmonizer
14.07.2017
15:58:37
мм, я не понял, что за композиция? %)
Объектная композиция. Вообще рекомендую избегать open class.

Ilya
14.07.2017
16:17:20
Всем привет. Пытаюсь передать в класс, написанный на Kotlin из Java экземпляр closure следующего вида: (Int) -> Unit Однако, в Java компилятор ругается, что необходимо вернуть какое-то значение, т.к. (Int) -> Unit превращается в Function1<Int, Unit> Как в такой ситуации поступить? Мне нужно чтоб был void return type

Google
? animufag ?
14.07.2017
16:18:17
мб вернуть юнит?

Ilya
14.07.2017
16:19:07
Я так и делаю, но это же треш

Admin
ERROR: S client not available

? animufag ?
14.07.2017
16:19:23
почему

Igor
14.07.2017
16:19:41
Я так и делаю, но это же треш
Сразу видно java-шника

? animufag ?
14.07.2017
16:20:04
да тут все джавашники

Ilya
14.07.2017
16:20:12
Потому что приходится писать recordingHandler.addProgressListener(progress -> { synopsisProgressValue.set(progress); return Unit.INSTANCE; }); recordingHandler.addTimeListener(time -> { synopsisTimerText.set(synopsisTimerFormatter.format(time)); return Unit.INSTANCE; }); Вместо recordingHandler.addProgressListener(progress -> { synopsisProgressValue.set(progress); }); recordingHandler.addTimeListener(time -> { synopsisTimerText.set(synopsisTimerFormatter.format(time)); });

зачем мне return тип Unit, если мне нужен void?

? animufag ?
14.07.2017
16:21:09
ну можешь сделать возвращаемый тип Nothing

он ближе к воиду

я чёт не помню зачем нужен был юнит, но в общем нужен

Ilya
14.07.2017
16:22:09
Это ничего не меняет ?

Короче в интеропе с джавой такого не сделать, да?

? animufag ?
14.07.2017
16:23:06
лично я - хз. поставил бы на то что да, не сделать

Ilya
14.07.2017
16:23:58
Ясно, запилю значит два интерфейса, что поделать

Quantum Harmonizer
14.07.2017
16:29:16
Ilya
14.07.2017
16:30:16
Ну я так и делаю пока что, но не слишком красиво

Я бы лучше юзал closure + typealias

Quantum Harmonizer
14.07.2017
16:30:58
Можно (Int) -> Unit? и return null.

Google
Ilya
14.07.2017
16:31:41
тот же треш, по сути

Quantum Harmonizer
14.07.2017
16:32:00
А что не треш? Как должно быть?

Ilya
14.07.2017
16:33:15
Хочу чтобы вместо Consumer<T> юзать (T) -> Unit а в интеропе котлин компайлер сам бы въехал что Unit это то же самое, что void в Java и мне не нужен Function1<T, Unit>, а нужен какой-нибудь Consumer<T> со стороны Java.

ну это выглядит как исключительно логичное поведение

Михаил
14.07.2017
16:35:42
согласен. тоже не нравится Unit возвращать в джаве.

Igor
14.07.2017
16:36:02
В смысле в интеропе? Там код генерится один раз, откуда он знает что ты хочешь из java дергать (может анаташку для этого введут когда-нибудь)

Ilya
14.07.2017
16:37:31
Так понятнее?

@angmarr вообще-то документация глаголит что Unit это то же самое, что и void в Java. Так какого чёрта в интеропе этот тезис никак не учитывается?

Igor
14.07.2017
16:38:46
Там кстати и так 22 интрефейса для Function0.., давайте еще 22 для Action

Ilya
14.07.2017
16:39:02
Why not?

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