0

アクティビティ オブジェクトをクラスに渡しました。

// SomeClass.java constructor
public SomeClass(Activity activity) {
    this.mActivity = activity;
}

アクティビティ オブジェクトの startActivityForResult を使用する必要があります。

private void goToAnotherActivity() {
    Intent intent = new Intent(this.mActivity, AnotherActivity.class);
    this.mActivity.startActivityForResult(intent, INTENT_KEY);
}

this.mActivity の onActivityResult を SomeClass.java からオーバーライドすることは可能ですか?

4

1 に答える 1

2

を明示的に呼び出す必要はありませんonActivityResult()Activity渡された SomeClassでオーバーライドするだけで、AnotherActivity終了時に実行されます。必要に応じて、BaseActivitywhich をオーバーライドonActivityResult()して、 SomeClass extends に渡す予定のアクティビティを作成できますBaseActivity

もう 1 つの方法は、Java リフレクション/インスツルメンテーション API を使用して、そのmActivity場でメソッドをオーバーライドすることです (本当に必要な場合)。

于 2013-06-06T14:02:24.250 に答える