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);
}

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

4

1 回答 1

2

您不需要显式调用onActivityResult(). 只需在传递给 SomeClass 中覆盖它,Activity它就会在AnotherActivity完成时执行。如果需要,您可以创建一个BaseActivitywhich 覆盖onActivityResult()并让您打算传递给 SomeClass 的活动 extend BaseActivity

另一种方法是使用 Java 反射/仪器 API 来动态覆盖该方法mActivity,以防确实需要。

于 2013-06-06T14:02:24.250 回答