iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android中fragment嵌套fragment问题解决方法
  • 377
分享到

Android中fragment嵌套fragment问题解决方法

方法fragmentAndroid 2022-06-06 09:06:10 377人浏览 独家记忆
摘要

都说fragment好用,duang~~,又遇到问题了,记录一下,分享给遇到这个问题的同学! 1.fragment嵌套fragment时出现getActivity()为null

都说fragment好用,duang~~,又遇到问题了,记录一下,分享给遇到这个问题的同学!
1.fragment嵌套fragment时出现getActivity()为null

        activity A嵌套fragment B,B嵌套fragment C,C跳转到activity D,当activity D被finish掉之后,C中容易爆出getActivity为空.如果你的activity被回收了,那你需要在bundle中保存一下fragment信息,我的解决方法:fragment实例化之后会到activity的fragmentManager中注册一下,这个动作封装在fragment中的onAttach(Activity activity)方法中,可以直接在onAttach(Activity activity)方法中去赋值

2.fragment嵌套fragment时没有执行子fragment的onActivityResult方法
 activity A嵌套fragment B,B嵌套fragment C,C通过startActivityForResult跳转到activity D,当activity D被finish掉之后,没有执行C的onActivityResult
其实这个问题也不是每个人都会遇到,当你的activity A和Fragment B不重写onActivityResult方法,可能就不会出现这个问题,但是我的activity A重写了onActivityResult方法,所以当activity D被销毁的时候,直接去执行activity 的onActivityResult,其实这个问题也很简单,只是遇到的时候可能想不到,解决方案就是在Activity中的onActivityResult方法中加入super.onActivityResult(requestCode, resultCode, data);一切都ok了
Activity的onActivityResult方法:


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 super.onActivityResult(requestCode, resultCode, data); 
 ...
}

fragment的onActivityResult方法:


public void onActivityResult(int requestCode, int resultCode, Intent data) {
}

当然有些特殊情况也不走onActivityResult方法,遇到了也不要烦躁,从Activity中的onActivityResult方法中手动调用fragment的方法,把相应的数据传递过去
如果你有更好的方法,互相交流哦!

您可能感兴趣的文章:Android应用UI开发中Fragment的常见用法小结Android应用开发中Fragment存储功能的基本用法Android Fragment概述及用法Android基础之使用Fragment控制切换多个页面Android基础之Fragment与Activity交互详解Android Fragment 基本了解(图文介绍)android开发教程之实现滑动关闭fragment示例Android使用Fragment打造万能页面切换框架Android应用开发中Fragment的静态加载与动态加载实例Android中Fragment的基本用法示例总结


--结束END--

本文标题: Android中fragment嵌套fragment问题解决方法

本文链接: https://www.lsjlt.com/news/26665.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作