如果我有一个带有单个构造函数的类,如何让Roboguice将其注入活动中?

要注入的服务:

public FlightManager(Context context){
    //do something with the context
}


活动:

public class recordFlight extends RoboActivity {

    @InjectResource FlightManager manager;

  //whatever code here
}


唯一的依赖关系是上下文,我收集的上下文应该没有问题地被注入。另外,我的所有其他用法,例如具有默认构造函数的类的@InjectView和@Inject似乎都不错,但是上述用法杀死了该应用程序,甚至没有给我提供堆栈跟踪。

有任何想法吗?

谢谢

乔恩

最佳答案

用@Inject批注标记构造函数:

@Inject
public FlightManager(Context context){
    //do something with the context
}


然后像这样注入FlightManager:

public class recordFlight extends RoboActivity {

    @Inject FlightManager manager;

    //whatever code here
}


@InjectResource在这里不是必需的,因为它是您要注入的常规Java类,而不是Android资源。

10-08 08:17
查看更多