獲得我有我的組件就像匕首2不注入我對象,但可以從組件
@GithubListActivityScope
@Component(modules = { GithubListActivityModule.class,GlideActivityModule.class })
public interface GithubListActivityComponent {
GithubUserListAdapter githubUserListAdapter ();
RequestManager requestManager();
LinearLayoutManager linearLayoutManager();
}
而且我有一個這樣的模塊:
@Module
public class GithubListActivityModule {
private final Activity githubListActivity;
public GithubListActivityModule (Activity activity) {
this.githubListActivity = activity;
}
@Provides
@GithubListActivityScope
Activity activity () {
return this.githubListActivity;
}
@Provides
@GithubListActivityScope
public LinearLayoutManager linearLayoutManager(Activity activity){
return new LinearLayoutManager (activity);
}
}
問題: 我TREID到像這樣注入LinearLayout管理器:
@GithubListActivityScope
@Inject
LinearLayoutManager linearLayoutManager;
雖然我的組件是這樣構建的:
githubListActivityComponent = DaggerGithubListActivityComponent.builder()
.githubListActivityModule (new GithubListActivityModule (this))
.build();
我的線性佈局管理器沒有得到實例化。但是當我手動做
linearLayoutManager = githubListActivityComponent.linearLayoutManager();
它工作正常。我哪裏錯了?
這是否意味着我們將定義許多具有不同活動名稱的接口方法? – Idee
如果我們不爲這個想法做其他工作,那麼是的,我們必須注入所有活動。但在互聯網上的其他一些很酷的傢伙可能也有解決方案:) – erluxman