4

RoboActivityでActivityクラスを拡張せずにroboguiceを使用する方法はありますか?

4

2 に答える 2

10

はい。まだベータ版ではない1.2-SNAPSHOTを使用すると簡単になります。1.2を使用するには、onCreate()、onContentChanged()、およびonDestroy()に以下を追加するだけです。roboguiceイベントを使用していない場合は、EventManagerに関する情報は必要ありません。

@Override
protected void onCreate(Bundle savedInstanceState) {
    RoboGuice.getInjector(this).injectMembersWithoutViews(this);
    super.onCreate(savedInstanceState);
}

@Override
public void onContentChanged() {
    super.onContentChanged();
    RoboGuice.getInjector(this).injectViewMembers(this);
}


@Override
protected void onDestroy() {
    try {
        RoboGuice.destroyInjector(this);
    } finally {
        super.onDestroy();
    }
}

RoboGuice 1.1.x(最新の安定したビルド)を使用している場合、原則は同じですが、呼び出しは少し異なります。1.1 RoboActivityソースを見て、どの呼び出しを行う必要があるかを確認してください。

于 2011-10-02T15:25:27.953 に答える
0

動作しますが、RoboContextを実装し、これを宣言する必要があります

protected HashMap<Key<?>,Object> scopedObjects = new HashMap<>();
于 2016-05-04T18:19:43.810 に答える