Dagger 2 – Inyectar con valor pnetworkingeterminado en el constructor

Cómo puedo inyectar este constructor:

class SomeClass @Inject constructor( dep: Dependency, context: Context, private val otherClass: OtherClass = OtherClass() ) 

Solo estoy brindando Dependencia y Context … Pero dice que no puede proporcionar OtherClass . Debería necesitar esta class, ya que tiene un valor pnetworkingeterminado … ¿Cómo puedo hacer que esto funcione?

Creo que la forma más fácil es inyectar OtherClass también:

class OtherClass @Inject constructor()

también puede jugar con la anotación @Named para diferenciarse de la implementación pnetworkingeterminada y OtherClass personalizada (pero creo que debe poner ambas inyecciones en el module para evitar confusiones):

// editar: ver el siguiente ejemplo

 public static class Pojo { final String string; Pojo(String string) { this.string = string; } @Override public String toString() { return string; } } @Provides @Named("custom") String provideCustomString() { return "custom"; } @Provides String provideDefaultString() { return "default"; } @Provides @Named("custom") Pojo providesCustomPojo(@Named("custom") String custom) { return new Pojo(custom); } @Provides Pojo providesDefaultPojo(String defaultString) { return new Pojo(defaultString); } 

para poder insert @Inject @Named("custom") personalizada @Inject @Named("custom") (perdón por java)

  • ¿Cómo crear una matriz Java en Kotlin para @PropertySource?
  • Android Retrofit Get Query codificado
  • Ejecutando el código de kotlin dentro de un proyecto de Java
  • No se puede crear un oyente de events de datos de spring en Kotlin
  • Problema de tipo de habitación de Android
  • Dividir algorithm y ver parte usando un Patrón de estrategia en Kotlin
  • ¿Por qué .map en un mutableList en realidad no cambia los valores dentro de List en Kotlin?
  • Kotlin spring-boot @ConfigurationProperties
  • AdMob RewardedVideoAd se ejecuta en segundo plano
  • Kotlin: ¿Cómo replace el fragment ya abierto con un nuevo fragment en el estudio de Android?
  • : compileKotlin falla en Gradle (proyecto mixto Java + Kotlin)