0

如何将当前Activity上下文注入到我的对象中?我@Inject在声明实例变量以及对象的构造函数时尝试使用注释,但似乎 RoboGuice 注入了错误的对象或创建了一个新Activity对象。

07-09 13:58:02.110: WARN/System.err(21352): com.google.inject.ProvisionException: Guice provision errors:
07-09 13:58:02.110: WARN/System.err(21352): [ 07-09 13:58:02.110 21352:21352 W/System.err ]
        1) null returned by binding at roboguice.config.DefaultRoboModule.configure(DefaultRoboModule.java:131)
07-09 13:58:02.110: WARN/System.err(21352): but parameter 0 of com.myapp.utility.NavigateAppAction.<init>() is not @Nullable
07-09 13:58:02.110: WARN/System.err(21352): while locating roboguice.inject.NullProvider<android.app.Activity>
07-09 13:58:02.110: WARN/System.err(21352): at roboguice.config.DefaultRoboModule.configure(DefaultRoboModule.java:131)
07-09 13:58:02.110: WARN/System.err(21352): while locating android.app.Activity
07-09 13:58:02.110: WARN/System.err(21352): for parameter 0 at com.myapp.utility.NavigateAppAction.<init>(Unknown Source)
07-09 13:58:02.110: WARN/System.err(21352): while locating com.myapp.utility.NavigateAppAction
4

1 回答 1

0

如果你@Inject Activity 或 Context,它应该注入当前的 Activity,因为 RoboGuice 附带了 Activity 和 Context 的绑定。但是,如果您尝试 @Inject MySpecificActivitySubclass,则需要设置自己的绑定。

于 2013-07-09T16:29:13.263 回答