此处注意:是在Fragment中使用startActivityForResult和onActivityResult。
我们总以为Fragment中不能使用startActivityForResult和onActivityResult,几乎认为这2个方法是在Activity中使用的,其实不然。
它们的用法和之前在Activity使用方法相似,但是,千万不要自作聪明在Fragment类的startActivityForResult()前不要加上“getActivity().”,也就是getActivity().startActivityForResult()不对,如果这样做会导致很多问题,所以我们用这2个方法需要改的部分只是onActivityResult()方法:(如下所示)
//注意:startActivityForResult声名为public,返回码之前需要加上getActivity()
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == getActivity().RESULT_OK) { // 返回码之前需要加上getActivity()
} }