您的位置:首页 > 移动开发 > Android开发

Android中Fragment的onActivityResult不被调用的问题

2016-09-17 15:08 337 查看
前言:

Android 开发中Frafment是经常用到的,有时会在fragment中跳转到另外的activity中,然后关闭activity时返回参数,根据返回参数更新fragment中的UI;

但是遇到了onActivityResult方法不被调用的问题。

1 .
 问题:启动fragment时使用了getActivity().startActivityForResult(intent, 0)  
 ;

Intent intent = new Intent(getActivity(), LandActivity.class);
getActivity().startActivity(intent);


2.解决方法:直接startActivityForResult(intent, 0) 方式启动

Intent intent = new Intent(getActivity(), LandActivity.class);

startActivityForResult(intent, 0);

接受返回的参数:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String result = data.getExtras().getString("result");// 得到新Activity
// Toast.makeText( getActivity(),result, 1).show(); // 关闭后返回的数据
// person_name.setText(result);
MeFragment meFragment = new MeFragment();
//
if (!TextUtils.isEmpty(result)) {
person_name.setText(result);
PrefUtils.putString(getActivity(), "person_name", result);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: