有没有办法仅使用单个实例从活动或片段中调用startActivityforResult

时间:2019-06-21 06:43:02

标签: android android-activity fragment

我正在编写一个内部调用startActivityForResult的帮助程序类,可以从fragmentactivity进行调用。

我知道通过加载方法间接设置setOnActivityResultReciever(fragment)setOnActivityResultReciever(Activity)

有什么办法可以避免过载?

重载方法

1 个答案:

答案 0 :(得分:0)

您可以创建通用的util类并定义您的启动活动。如果您想传递动态的intent值,请传递该值而不是intent

CommonUtils.startActivityForResult(activity, intent); //from activity
CommonUtils.startActivityForResult(fragment, intent); //from fragment

看看这段代码,希望您能得到答案。

public class CommonUtils {

    private Activity mActivity;
    private Fragment mFragment;

    public void startActivityForResult(Activity activity, Intent intent) {
        // TODO Auto-generated constructor stub
        mActivity = activity;
        startActivityForResult(activity, intent);
    }

    public void startActivityForResult(Fragment fragment, Intent intent) {
        // TODO Auto-generated constructor stub
        mFragment = fragment;
        startActivityForResult(fragment, intent);
    }
}