Dagger 可以在 Android 中执行视图对象注入吗

Can Dagger Perform Injection of view Objects in Android

我正在探索 Dagger Android 中的依赖注入 .

我的发现:


问题:

我要查找的内容:

  1. 我们可以注入 ImageViewButton 等视图对象吗?
  2. 如果可以怎么实现?
  3. 如果不可能,最好的选择是什么(我知道 Roboguice 已被弃用)?

Can we inject view objects like ImageView, Button etc?

既然你在问题中提到了 Roboguice 作为参考点,我把这个问题的意思是你能在 Dagger 2 中做以下事情吗:

@InjectView(R.id.my_view) View view;

这个问题的答案是'no'。换句话说,Dagger 2 不包含用于注入视图的特殊语法,否则这些视图将通过 findViewById(int id) 获得。

If not possible what is the best alternative (I am aware Roboguice is deprecated)?

Butterknife 是 Dagger 2 的好搭档,因为它使用相同的代码生成方法来允许您注入视图。

或者,Data Binding Library 将允许您执行此操作。