Articles of lambda

Kotlin, tabla / matriz basada en inputs con campos dynamics

Estoy haciendo un puerto kotlin de g-truc gli y en realidad estoy considerando un ligero cambio de layout. Gli usa una representación interna de formatting de textura, types, swizzles, etc. ( gli::format y así sucesivamente). En esta testing , instancia la estructura GL, pasando el perfil y luego lee el formatting gli traducido: gli::gl GL(gli::gl::PROFILE_KTX); […]

Funciones de Lambda con comodines en Kotlin

Estaba mirando los ejemplos proporcionados por Google y encontré esta línea private final ArrayMap<Class, Callable<? extends ViewModel>> creators; Tengo problemas para averiguar cómo convertir ese Callable<? extends ViewModel> Callable<? extends ViewModel> en una lambda en Kotlin ¿Cómo voy a hacer esto? EDITAR: class ViewModelFactory(appComponent: AppComponent) : ViewModelProvider.Factory { private val creators: ArrayMap<Class<*>, () -> ViewModel> […]

¿Pasar lambdas a Observable.subscribe en kotlin dará como resultado pérdidas de memory?

Vea el siguiente código de kotlin: class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { val disposable = Observable.interval(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread()) .subscribe { textView.text = it.toString } } } Aquí estoy pasando una expresión lambda en el método de suscripción en lugar de una class interna anónima. Entonces, ¿es necesario llamar a disposable.dispose() para […]

Obtuvo NoClassDefFoundError al pasar el map de lambda

Creo una aplicación para Android usando Kotlin, y hay algo extraño con lambda. Paso mapOf(1 to {…}, 2 to {…}) y obtengo NoClassDefFoundError o ClassNotFoundException . Intento reescribirlo en el escritorio y get el mismo, pero con diferente rastro de stack. fun main(args: Array<String>) { call(mapOf( 1 to { "asd" }, 2 to { 999 […]

Enlace de datos: el campo Observable con valor lambda no comstack

Estoy tratando de definir la visibilidad de la View calculando la lambda que toma un parámetro como argumento. Estoy usando Kotlin , por cierto. En mi ViewModel tengo: val customerPropVisibility: ObservableField<(KProperty1<Customer, *>) -> Int> = ObservableField( { _ -> // body of the lambda }) La expresión de enlace para la View es la siguiente: […]

Configuración de oyentes de Android en Kotlin: uso del retorno en lambdas

Considera este código de escucha: expandable_list.setOnChildClickListener { expandableListView, view, groupPosition, childPosition, l -> Toast.makeText( applicationContext, listDataHeader[groupPosition] + " : " + listDataChild[listDataHeader[groupPosition]]!![childPosition], Toast.LENGTH_SHORT).show() return false} No funcionará, y recibo el post de error "return is not allowed here" IDE. He buscado un poco y resulta que los retornos explícitos no funcionan en lambdas, pero la […]

Java Lambda para Kotlin

Estoy construyendo mi código con Kotlin. Me encontré con un problema al usar Lambda en Kotlin con lo siguiente: Código Java: ((UndertowEmbeddedServletContainerFactory) container) .addBuilderCustomizers(builder -> builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true)); Usar instanciación de interfaz común ((UndertowEmbeddedServletContainerFactory) container) .addBuilderCustomizers(new UndertowBuilderCustomizer() { @Override public void customize(Builder builder) { builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true); } }); Mi código en Kotlin val c: UndertowEmbeddedServletContainerFactory = […]

¿Por qué la variable no se puede inicializar correctamente en la function en línea como en Java?

Sabemos que el cuerpo lambda está perezosamente bien, porque si no llamamos a la lambda nunca se llamará al código en el cuerpo lambda. También sabemos en cualquier lenguaje de function que una variable puede usarse en una function / lambda incluso si no está inicializada, como javascript, ruby, groovy y .etc, por ejemplo, el […]

¿Cómo pasar arguments a la function lambda anónima en Kotlin?

Me gustaría escribir una function lambda anónima en Kotlin, pero parece que no toma el argumento que se le pasó. (No se pasa del todo, ya que el IDE insinúa que " variable 'name' nunca se usa ".) Código: var name = "Tobias Boon" println("reverse=" + fun(name: String): String { var t: String = "" […]

Tienda lambda en una variable en kotlin

Estoy empezando a desarrollar en Android con kotlin y tengo un problema con lambdas. Tengo una function para configurar un oyente desde mi punto de vista, esto se ve así: fun setListener(listener: () -> Unit) { } El problema es que el código pasado como lambda no se ejecutará en la function setListener, se ejecutará […]