【问题标题】:injecting objects that rely on each other - roboguice注入相互依赖的对象 - roboguice
【发布时间】:2013-05-09 03:37:30
【问题描述】:

我成功地将一个对象注入到我的活动中,该对象在构造函数中获取当前活动的上下文。然后我试图注入一个依赖于我刚刚注入的对象的对象。如何确保将注入的实例注入到第二个注入的对象中?

我的活动

class MainActivity extends RoboActivity{

    @Inject DataSource dataSource;
    @Inject Customer customer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.home_layout);

    }
}

第一个注入的对象

class DataSource{

    private Context context;

    @Inject
    public DataSource(Context context){
        this.context = context;
    }
}

这个对象依赖于之前注入的对象

class Customer{

    private DataSource datasource;

    @Inject
    public Customer(DataSource datasource){
        this.datasource = datasource;
    }
} 

【问题讨论】:

    标签: android robolectric roboguice


    【解决方案1】:

    您应该将 DataSource 类注释为 @ContextSingleton。然后,RoboGuice 将在该上下文的范围内注入相同的实例。

    【讨论】:

      猜你喜欢
      • 2014-07-27
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      相关资源
      最近更新 更多