Tag: лямбда

Лямбда в выражении типа множественного типа

Мне предоставлен класс Foo который выполняет некоторую work() : open class Foo() { fun work(x: T) { // Effects taking place here } } И мне также предоставляется (но кем-то другим) метод useJob() который потребляет объект типа интерфейса Bar имеющий единственный метод doJob() . fun useJob(bar: Bar) interface Bar { fun doJob(x: T) } Оказывается, […]

Как преобразовать массив строк в массив Int в Kotlin

Я хочу преобразовать List<String> в List<Int> в Котлин. val stringArray = "1 2 3 4 5 6".split(" ") val intArray = MutableList<Int>(0, {0}) for (item in stringArray) { intArray.add(item.toInt()) } Вышеуказанное будет делать это, но кажется, что есть лучший способ сделать это (возможно с лямбдами и потоками?).

Kotlin – Незаконное использование обратного вызова встроенного параметра

Я преобразовываю свою function с lambda качестве parameter в inline function для повышения производительности. У меня есть list lambda типа MutableList<(Authenticate) -> Unit> как член данных в классе. Когда я пытаюсь добавить lambda parameter в list . Компилятор Kotlin говорит: Незаконное использование обратного вызова встроенного параметра Вот код // Some code skipped object Odoo { […]

Как написать правильный генератор HTML в Котлине

Я изучаю Kotlin и читаю раздел Type-Safe Builders Я последовал этому примеру и закодировал некоторые тесты, а затем нашел проблему, которую я не мог понять. Проблема в том, что кажется, что следующий код эквивалентен: Вложенная head html { head { title { +"First Title" } head { title { +"Second Title" } } } } […]

как убрать DialogFragment из lambda, указанного в caller Kotlin

Я запускаю GirlQualitiesChoiceDialog из фрагмента, как показано ниже: girlType.setOnClickListener { GirlQualitiesChoiceDialog.show(activity, InitialDataSet.instance.QUALITY_TYPE_COLOR){ Picasso.with(context).load(it.resId).into(colorTypeImage as ImageView) //GirlQualitiesChoiceDialog.this.dismiss() – need to dismiss the created dialog } } Где указать слушателя. Мне нужно отменить диалог после загрузки изображения. GirlQualitiesChoiceDialog.this.dismiss () не работает. Может кто-нибудь посоветует мне, пожалуйста, как я могу отменить GirlQualitiesChoiceDialog здесь? Предположим, мне нужно будет каким-то […]

почему я не могу использовать lambda для интерфейса в kotlin?

У меня есть класс Java: public final class JavaReceiveSingle { public static void useSingle(Single single) { single.doSth(); } public static void useSingle2(SingleInterface singleInterface) { singleInterface.doSth(); } } интерфейс Java: public interface SingleInterface { void doSth(); } интерфейс kotlin: interface Single { fun doSth() } Теперь я могу использовать лямбда в классе kotlin, например: JavaReceiveSingle.useSingle2({}) Но […]

Kotlin: Как я могу вызвать лямбда-поле, которое имеет общий тип его класса?

Как я могу вызвать поле лямбда, которое имеет общий тип своего класса? По какой-то причине ссылка на такой общий класс, как Example<*> дает признак, который заменяет исходный тип (например, Example<Something> ) Nothing . Как я могу вызвать такую ​​лямбду, ссылаясь только на Example<*> ? Codebase У меня проблема: https://github.com/Jire/Acelta/tree/master/src/main/kotlin/com/acelta/packet/incoming/packets Я пытаюсь этот код, но, как […]

Почему Kotlin не может вывести следующий аргумент лямбда (после преобразования Java -> Kotlin)?

У меня был следующий код Java: public class DatabaseManager { public interface Predicate<T> { boolean test(T t); } private interface Consumer<T> { void apply(T t); } private void updateLiveLists() { updateLiveLists(liveList -> true); } private void updateLiveLists(Predicate<MutableLiveList<?>> predicate) { forEachLiveList(liveList -> { if (predicate.test(liveList)) { refresh(liveList); } }); } private void forEachLiveList(Consumer<MutableLiveList<?>> consumer) { … […]

Асинхронная анонимная функция в Котлине? (лямбда-выражения)

Я делаю listview, какая функция вызова при нажатии. и I want to get function is async or sync . для блокировки при асинхронном режиме. и даже я хочу знать, how attach async mark to kotlin lambda expression . class FunctionCaller_Content(text: List<String>, val function: List< /*suspend? @async? */ ( () -> Unit )? >? = null) […]

Переопределение нескольких методов интерфейса в лямбда-выражениях Котлина

Скажем, у меня есть интерфейс Callbacks с двумя методами onCurrentLocation и onError : public interface Callbacks { void onCurrentLocation(ClientLocation location); void onError(); } и класс, который принимает этот интерфейс в своем конструкторе, скажем: public MyLocationClient(Callbacks callbacks) {…} Теперь, в Котлине, должен ли я создать экземпляр MyLocationClient следующим образом: val myLocationClient = MyLocationClient( { location: ClientLocation […]

Давайте будем гением компьютера.