【发布时间】:2017-08-18 04:58:36
【问题描述】:
我目前在我的项目中使用 dagger2 实现依赖注入,我偶然发现了一些东西,我对在回收视图中处理视图持有者时最好的方法感到困惑。
通常,我们这样创建视图:
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int pos) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item, parent, false);
return new ViewHolder(view);
}
现在我的问题是,如何注入 ViewHolder? 我应该注射它还是应该留下它?
【问题讨论】:
-
这真的只是见仁见智。我个人不会将 Dagger 用于视图创建和膨胀,而仅用于“业务逻辑”的东西
-
同意@DavidMedenjak。我更喜欢注入活动/片段然后从那里手动构建对象图的方法。 (即在适配器的构造函数中传递内容,并从那里传递给 ViewHolders)。话虽如此,如果您确实想注入它,可能最简单的方法是在您的组件中创建
inject(ViewHolder)方法,并使用带有@Inject注释的包私有字段。
标签: android dependency-injection dependencies code-injection dagger-2