首页 > 移动平台 > 详细

Android开发 Fragment启动Activity在使用onActivityResult的一些问题

时间:2021-03-17 14:48:14      阅读:46      评论:0      收藏:0      [点我收藏+]

前言

  主要记录2个问题:

  1.在Fragment里启动某个Activity后在返回,希望从Fragment下的onActivityResult获取数据,但是不执行的问题。

  2.在Fragment里启动某个Activity后在返回,希望从Fragment的根Activity下的onActivityResult获取数据,但是requestCode返回的是随机值。

 

第一个问题  Fragment下的onActivityResult获取数据,但是不执行的问题

1.首先在Fragment启动Activity时需要使用,Fragment自带的startActivityForResult()方法不能使用getActivity()的startActivityForResult()

Intent intent = new Intent(getContext(), AddActivity.class);
startActivityForResult(intent, 1);

2.如果有在Activity里重写onActivityResult,那么一定要实现super.onActivityResult(requestCode, resultCode, data);否则Fragment的onActivityResult会无法接收到数据

 

第二个问题  Fragment的根Activity下的onActivityResult获取数据,但是requestCode返回的是随机值

原因是你在Fragment里启动目标Activity时,使用了Fragment自带的startActivityForResult,这里应该使用getActivity()的startActivityForResult(),如下

在Fragment里:

Intent intent = new Intent(getContext(), AddActivity.class);
getActivity().startActivityForResult(intent, 1);

 

 

 

 

End

 

onActivityResult

Android开发 Fragment启动Activity在使用onActivityResult的一些问题

原文:https://www.cnblogs.com/guanxinjing/p/14549027.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!