2015-09-09 51 views
1

例如工作方法注入如何我有一個代碼在Dagger2

public class Class { 

    @Inject 
    public void classMethod(SomeObject object) { 
    //something 
    } 
} 

然後我調用類方法方法,從圖中得到了SomeObject實例。但如何運行該方法,因爲此刻我沒有方法arg。

回答

1

自己沒有嘗試過這個,但我的猜測是用@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; 
    } 
} 

想知道它是否確實是這樣工作的。

+0

這對於可能覆蓋injectSomeObject的MyFragment的子類將如何表現? Dagger是否會調用子類和超類方法? @Egor – Snicolas