1

単一のコンストラクターを持つクラスがある場合、Roboguiceにこれをアクティビティに注入させるにはどうすればよいですか?

注入されるサービス:

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

アクティビティ:

public class recordFlight extends RoboActivity {

    @InjectResource FlightManager manager;

  //whatever code here
}

唯一の依存関係はコンテキストです。これは、問題なく挿入する必要があります。さらに、デフォルトのコンストラクターを持つクラスの@InjectViewや@Injectなど、他のすべての使用法は問題ないように見えますが、上記の使用法では、スタックトレースを取得せずにアプリを強制終了します。

何か案は?

ありがとう

ジョン

4

1 に答える 1

3

@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 リソースではないため、ここでは必要ありません。

于 2012-06-04T18:55:22.587 に答える