处理片段中的Payumoney响应



我已经从一个片段初始化了payumoney流,并且在我的"活动"中得到了响应OnActivityResult。但我需要在片段中的响应之后更新一些值。在获取响应的同时,有没有可能在fragment中获取响应,或者将我的自定义对象从fragment获取到activity?

提前谢谢。

由于"活动"获得onActivityResult()的结果,因此您可以执行此操作,因此需要覆盖活动的onActivityResult()并调用super.onActivityResult()以传播到未处理的结果代码或所有结果代码的相应片段。

选项2:

片段对onActivityResult函数的显式调用如下。

在父Activity类中,重写onActivityResult((方法,甚至在Fragment类中重写该方法,并调用以下代码。

在父类中:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.dualPane);
fragment.onActivityResult(requestCode, resultCode, data);
}

在儿童班:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// In fragment class callback
}

选项1:

如果您从片段中调用startActivityForResult(),那么您应该调用startActivityForResult(),而不是getActivity().startActivityForResult(),因为这将导致片段onActivityResult()

如果您不确定在哪里调用startActivityForResult((,以及如何调用方法。

选项2:

由于"活动"获取onActivityResult()的结果,因此需要覆盖活动的onActivityResult()并调用super.onActivityResult()以传播到未处理的结果代码或所有结果代码的相应片段。

如果以上两个选项都不起作用,那么请参考选项3,因为它肯定会起作用。

选项3:

片段对onActivityResult函数的显式调用如下。

在父Activity类中,重写onActivityResult()方法,甚至重写Fragment类中的方法,并调用以下代码。

在父类中:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.dualPane);
fragment.onActivityResult(requestCode, resultCode, data);
}

在儿童班:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// In fragment class callback
}

最新更新