从另一个类覆盖Activity对象的onActivityResult

时间:2013-06-06 13:48:58

标签: java android android-activity

我将一个活动对象传递给某个类:

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

我需要使用activity对象的startActivityForResult:

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

是否有可能从SomeClass.java覆盖this.mActivity的onActivityResult?

1 个答案:

答案 0 :(得分:2)

您无需明确调用onActivityResult()。只需在传递给SomeClass的Activity中覆盖它,它就会在AnotherActivity完成后执行。如果需要,您可以创建一个覆盖BaseActivity的{​​{1}},并将您打算传递给SomeClass的活动扩展为onActivityResult()

另一种方法是使用Java反射/检测API在BaseActivity中动态覆盖方法,以防真正需要。