2015-04-30 139 views
0

我有这个模块:注入的对象为空

@Singleton 
@Module(injects = { MyApplication.class }, library = true) 
public class MyModule { 

    @Singleton 
    @Provides 
    public Configuration provideConfiguration() { 
     Configuration config = Configuration.newInstance(); 

     return config; 
    } 
} 

而且我注入我的应用程序内部的配置:

public class MyApplication extends Application { 
    @Inject 
    Configuration config; 

    @Override 
    public void onCreate() { 
    List<Object> list = new ArrayList<>(); 
    list.add(new MyModule()); 

    graph = ObjectGraph.create(list.toArray()); 

    graph.inject(this); 
    } 
} 

这种方法的问题是,我的配置总是空如果我在graph.inject(this);之后检查它。我正在按照这个教程:http://antonioleiva.com/dagger-android-part-2/

如何解决这个问题?

+0

这是你的配置字段在你的课外的错字吗? –

+0

@AlexBaker,这是一个错字:) – user4386126

回答

0

我看不出有什么问题。我试图重现行为,但一切都按预期工作。我能想到的唯一的事情是,在执行Configuration及其静态方法时可能会发生一些事情。确保它实际上返回一个非null实例。