2012-08-17 63 views
3

我是Roboguice的新手,我想在我的新Android應用程序中使用它。RoboGuice 2.0中的注入字段爲null

我有一個擴展RoboActivity的測試Activity。

public class MainActivity extends RoboActivity { 
    @Inject 
    private TestService testService; 

    ....   
} 

這裏是我的TestService的類:

public class TestService { 

    @Inject 
    private TestDao testDao; 

    @Inject 
    protected static Provider<Context> contextProvider; 

    public TestService(){ 
     Log.d("TEST_SERVICE", "Constructor test"); 
    } 

    public Test getById(Integer id) throws Exception{ 
     return testDao.queryForId(id); 
    } 
} 

我希望在@Injected註解的字段內注射類將被注入!

TestService由MainActivity注入。但TestDao是空的,也是我的contextProvider!

我也定義定義我IoCModule類roboguice.xml文件:

public class IoCModule extends AbstractModule{ 
    @Override 
    protected void configure() { 
     bind(TestDao.class).to(TestDaoOrm.class); 
    } 
} 

我不知道爲什麼內@Inject將無法正常工作!

謝謝你的任何建議!

謝謝 馬爾科

回答

2

我已經解決了把我的模塊定義

requestStaticInjection(TestDaoOrm.class);