是否可以使用 dagger2 注入内容视图
is it ok to inject content view using dagger2
我在我的 android 项目中使用 数据绑定 ,我还在 dagger 2 中使用 DI.
基本上,为了使用数据绑定设置内容视图,我需要做这样的事情:
LayoutClass layoutClass = DataBindingUtil.setContentView(Activity, Layout);
我在匕首 模块 中提供 layoutClass
并将其注入我的 activity。问题是,这是一个好习惯吗?
从技术上讲,您是在用它定义一个循环引用。您只是没有收到警告,因为设置图表需要您对此积极主动。
当您显式为模块提供 activity 时,依赖项看起来像 activity -> layout -> activity
。此外,您正在使用 DataBindingUtil.setContentView()
修改 activity,因此提供对 activity 的依赖,这实际上是 activity 本身的 属性。
因此,永远不要为 Dagger 提供任何 UI。尤其是 activity.
我在我的 android 项目中使用 数据绑定 ,我还在 dagger 2 中使用 DI.
基本上,为了使用数据绑定设置内容视图,我需要做这样的事情:
LayoutClass layoutClass = DataBindingUtil.setContentView(Activity, Layout);
我在匕首 模块 中提供 layoutClass
并将其注入我的 activity。问题是,这是一个好习惯吗?
从技术上讲,您是在用它定义一个循环引用。您只是没有收到警告,因为设置图表需要您对此积极主动。
当您显式为模块提供 activity 时,依赖项看起来像 activity -> layout -> activity
。此外,您正在使用 DataBindingUtil.setContentView()
修改 activity,因此提供对 activity 的依赖,这实际上是 activity 本身的 属性。
因此,永远不要为 Dagger 提供任何 UI。尤其是 activity.