Dagger可以在Android

时间:2016-12-22 18:08:07

标签: android dependency-injection dagger-2

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

我发现了什么:

  • 我们可以注入SharedPreferences
  • 我们可以注入services
  • 我们可以注入Retrofit实例

问题:

我想找到的东西:

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

1 个答案:

答案 0 :(得分:1)

  

我们可以注入ImageViewButton等视图对象吗?

由于你在你的问题中提到Roboguice作为参考点,我提出这个问题意味着你可以在Dagger 2中做以下事情:

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

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

  

如果不可能,最好的选择是什么(我知道Roboguice已被弃用)?

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

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