Dagger 可以在 Android 中执行视图对象注入吗
Can Dagger Perform Injection of view Objects in Android
我正在探索 Dagger Android 中的依赖注入
.
我的发现:
- 我们可以注入
SharedPreferences
- 我们可以注入
services
- 我们可以注入
Retrofit
个实例
问题:
我要查找的内容:
- 我们可以注入
ImageView
、Button
等视图对象吗?
- 如果可以怎么实现?
- 如果不可能,最好的选择是什么(我知道 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 将允许您执行此操作。
我正在探索 Dagger Android 中的依赖注入 .
我的发现:
- 我们可以注入
SharedPreferences
- 我们可以注入
services
- 我们可以注入
Retrofit
个实例
问题:
我要查找的内容:
- 我们可以注入
ImageView
、Button
等视图对象吗? - 如果可以怎么实现?
- 如果不可能,最好的选择是什么(我知道 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 将允许您执行此操作。