我有这段代码
Intent intent = new Intent(getActivity(), PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
getActivity().startActivityForResult(intent, paypal.REQUEST_CODE_PAYMENT);
覆盖函数调用onActivityResult,但它调用结果。
答案 0 :(得分:1)
不要使用getActivity()。startActivityForResult(intent,paypal.REQUEST_CODE_PAYMENT);
这会调用活动中的onActivityResult
而是使用片段
中的方法startActivityForResult(intent,paypal.REQUEST_CODE_PAYMENT);
答案 1 :(得分:1)
如果您从startActivityForResult
致电Fragment
,结果会传递给Fragment
。如果您从startActivityForResult
致电Activity
,结果会传递给Activity
。当Fragment
调用StartActivityForResult
时,requestCode
会更改Activity
,因此它会知道如何将结果传递到Fragment
。
在你的情况下你应该换行:
getActivity().startActivityForResult(intent, paypal.REQUEST_CODE_PAYMENT);
为:
startActivityForResult(intent, paypal.REQUEST_CODE_PAYMENT);
答案 2 :(得分:0)
你在哪里覆盖onActivityForResult方法?。
如果答案在你的FragmentActivity中。 你应该使用:getActivity()。startActivityForResult
如果答案在你的片段中。 你应该使用:startActivityForResult。