繁体   English   中英

如何为片段调用onActivityResult

[英]How to call onActivityResult for fragment

我有这个代码

Intent intent = new Intent(getActivity(), PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
getActivity().startActivityForResult(intent, paypal.REQUEST_CODE_PAYMENT);

覆盖函数调用onActivityResult但它调用结果。

不要使用getActivity()。startActivityForResult(intent,paypal.REQUEST_CODE_PAYMENT);

这会在活动中调用onActivityResult

而是在片段中使用该方法

startActivityForResult(intent,paypal.REQUEST_CODE_PAYMENT);

如果从Fragment调用startActivityForResult ,结果将传递给Fragment 如果从Activity调用startActivityForResult ,结果将传递给Activity Fragment调用StartActivityForResultActivity将更改requestCode ,因此它将知道如何将结果传递给Fragment

在你的情况下你应该改变线:

getActivity().startActivityForResult(intent, paypal.REQUEST_CODE_PAYMENT);

至:

startActivityForResult(intent, paypal.REQUEST_CODE_PAYMENT);

你在哪里覆盖onActivityForResult方法?

如果答案在你的FragmentActivity中。 你应该使用:getActivity()。startActivityForResult

如果答案在你的片段中。 你应该使用:startActivityForResult。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM