Dagger2-Android不支持泛型Activity的注入
像下面这样定义的Activity,如果使用dagger2注入和会报错。
public class TestActivity<T extends Fragment> extends AppCompatActivity{
}
@ActivityScope
@ContributesAndroidInjector(modules = {ShowWeatherModule.class})
abstract TestActivity testActivity();
总之,被注入的Activity自己不能带泛型,不过他的父类是可以带泛型的。
使用 ./gradlew build --scan 扫描出来的异常
错误: [Dagger/MembersInjecon] [dagger.android.AndroidInjector.inject(T)] Cannot inject members into raw type cn.dxy.android.aspirin.dsm.demo.mvp.printstudent.PrintStudentActivity
说明
由于java将泛型定义成了类型,所以带上泛型后,编译器就不认为带了泛型的Activity是Activity的子类。
如果要使用泛型,可以单独定单注入对象。