[英]How to add an object created elsewhere as dagger dependency?
我想知道如何添加在其他地方創建的對象作為由dagger模塊提供的依賴項。
例如,我正在使用數據綁定。 布局膨脹后, MainActivity::onCreate()
獲取ActivityMainBinding
對象,如下所示:
ActivityMainBinding binding =
DataBindingUtil.setContentView(this, R.layout.activity_main);
現在,如何通過dagger模塊使此綁定對象可用?
您可以將其傳遞給模塊的構造函數,然后從@Provides
方法返回它(或從它派生的東西)。 例如:
@AppScope
@Module
public class AppModule {
private final Context mContext;
public AppModule(@NonNull final Context context) {
mContext = context.getApplicationContext();
}
@Provides
@AppScope
Context provideApplicationContext() {
return mContext;
}
// more @Provides methods...
}
如果您具有活動范圍的依賴項,則活動可以使用相同的方法來創建子模塊。 然后,片段可以獲取活動的Dagger組件並自行注入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.