tutorial example espaƱol android kotlin dagger-2

android - example - retrofit dagger



Daga 2 multibindings con Kotlin. (1)

Como se describe en la reference Kotlin.

Para hacer que las API de Kotlin funcionen en Java, generamos Box<Super> como Box<? extends Super> Box<? extends Super> para la Box definida de forma covariante (o Foo<? super Bar> para la definición de Foo contravariante) cuando aparece como un parámetro.

Puede usar @JvmSuppressWildcards para evitarlo, de la siguiente manera:

@Inject lateinit var foo: Set<@JvmSuppressWildcards Foo>

Tengo el siguiente fragmento en mi módulo daga 2

@Singleton @Provides @ElementsIntoSet fun providesQueries(foo: Foo): Set<Foo>{ val queries = LinkedHashSet<Foo>() queries.add(foo) return queries }

Trato de inyectar de esta manera

@Inject lateinit var foo: Set<Foo>

Pero Dagger muestra un error que dice que Dagger no puede proporcionar java.util.Set sin el método @Provides o @Produces.

Hice lo mismo en java y funcionó. ¿Alguien sabe por qué está fallando?