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 の場合、RoboGuice には Activity と Context のバインディングが付属しているため、現在のアクティビティを注入する必要があります。ただし、@Inject MySpecificActivitySubclass を試みる場合は、独自のバインディングをセットアップする必要があります。

于 2013-07-09T16:29:13.263 に答える