1
例如工作方法注入如何我有一個代碼在Dagger2
public class Class {
@Inject
public void classMethod(SomeObject object) {
//something
}
}
然後我調用類方法方法,從圖中得到了SomeObject實例。但如何運行該方法,因爲此刻我沒有方法arg。
例如工作方法注入如何我有一個代碼在Dagger2
public class Class {
@Inject
public void classMethod(SomeObject object) {
//something
}
}
然後我調用類方法方法,從圖中得到了SomeObject實例。但如何運行該方法,因爲此刻我沒有方法arg。
自己沒有嘗試過這個,但我的猜測是用@Inject
註釋的方法只能被Dagger調用。例如:
class MyFragment extends Fragment {
SomeObject someObject;
@Override
public void onCreate(Bundle saved) {
((InjectorActivity) getActivity()).component().inject(this);
}
@Inject
public void injectSomeObject(SomeObject someObject) {
this.someObject = someObject;
}
}
想知道它是否確實是這樣工作的。
這對於可能覆蓋injectSomeObject的MyFragment的子類將如何表現? Dagger是否會調用子類和超類方法? @Egor – Snicolas