注入彼此依赖的物体 - roboguice

时间:2013-05-09 03:37:30

标签: android robolectric roboguice

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

我的活动

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;
    }
} 

1 个答案:

答案 0 :(得分:0)

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