J'utilise la nouvelle injection Android de poignard 2.11, et j'ai ce module simple:Objet de passage au module avec une nouvelle injection Android
@Module
public class MyModule{
@MyScope
@Provides
SomeClass provideSomeClass(Context context){
return new SomeClass(context);
}
}
comme vous pouvez le voir, je dois passer un contexte constructeur SomeClass . mais je ne sais pas comment faire ça.
sans injecteur Android, je peux le faire comme ci-dessous:
@Module
public class MyModule{
private Context context;
public MyModule(Context context){
this.context = context;
}
@MyScope
@Provides
Context provideContext(){return context;}
@MyScope
@Provides
SomeClass provideSomeClass(Context context){
return new SomeClass(context);
}
}
mais étant donné que je ne peux pas accéder à MyModule avec AndroidInjection.inject()
je ne peux pas passer contexte à elle.
Merci pour votre réponse, mais je veux utiliser MyModule pour plusieurs activités et j'ai besoin de leur contexte de base. –
Vous pouvez créer votre module en tant que singleton et vous pouvez transmettre le contexte de l'application à votre module lorsque vous y injectez. – mertsimsek
Êtes-vous sûr que c'est une bonne pratique? btw j'ai besoin de contexte de base pas de contexte d'application. –