`

开发中关于Fragment异常的两个问题

 
阅读更多

下边两个问题,是在开发中碰到的一些关于Fragment的偶发性的问题,今天时间比较多,就在网上搜了一些解决方式:

1、关于Fragment(XXFragment) not attached to Activity 异常出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数。解决方法,就是等将调用的代码写在OnStart()中。网上还有几处这样的参考:http://stackoverflow.com/questions/10919240/fragment-myfragment-not-attached-to-activity  回答的主要是在调用

[java] view plaincopy
 
  1. getResources().getString(R.string.app_name);  
之前增加一个判断isAdded(),两外说这个异常解决办法的有 http://stackoverflow.com/questions/6870325/android-compatibility-package-fragment-not-attached-to-activity
这个是针对另外一种情况下的解决方式。
2、在使用Fragment保存参数的时候,可能是因为需要保存的参数比较大或者比较多,这种情况下页会引起异常。比如代码
[java] view plaincopy
 
  1. Bundle b = new Bundle();  
  2. b.putParcelable("bitmap", bitmap2);  
  3. imageRecognitionFragment.setArguments(b);  
设置好参数,并且添加hide(),add(),方法之后,需要commit(),来实现两个Fragment跳转的时候,这种情形下参数需要进行系统保存,但是这个时候你已经实现了跳转,系统参数却没有保存。此时就会报
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
异常。分析原因:你并不需要系统保存的参数,只要你自己设置的参数能够传递过去,在另外一个Fragment里能够顺利接受就行了,现在android里提供了另外一种形式的提交方式commitAllowingStateLoss(),从名字上就能看出,这种提交是允许状态值丢失的。到此问题得到完美解决,值的传递是你自己控制的。
这里也说一下另外一个问题,bitmap 也可以通过Bundle传递的,使用putParacelable就可以了
分享到:
评论

相关推荐

    两个Fragment在同一个Activity上的交互1

    两个Fragment在同一个Activity上的交互1

    Fragment+ViewPager两级嵌套

    实习公司在做一个装在手持...大体是页面底部是4个可切换的RadioButton,第一个RadioButton所对应的Fragment嵌套了一个ViewPager。本人大四实习生,安卓自学。所写东西难免生疏粗俗。旨在共同交流,共同学习,共同进步。

    Android Fragment与Fragment之间数据获取

    MainActivity包含有两个Fragment,LeftFragment和RightFragment,如果Leftfragment想要获取RightFragment中的数据,那么首先要通过FragmentManager获取的RightFragment的实例,然后获取到RightFragment的布局View,...

    Fragment实现左右,上下布局

    通过使用Fragment来实现VR开发播放器左右分屏实现,用来转载3D模型的是Viodeview。

    详解Android中Fragment的两种创建方式

    两个概念:Fragment、宿主 fragment的生命周期直接受其宿主activity的生命周期的影响。例如,一旦activity被暂停,它里面所有的fragment也被暂停,一旦activity被销毁,它里面所有的fragment也被销毁。 Androi

    Android应用开发中Fragment存储功能的基本用法

    在绝大部分的开发经历中,我们都是使用Fragment来进行界面编程,即使保存数据基本上也只是界面相关控件的数据,很少做其他的数据保存,毕竟这样与开发原则相背,而今天这一篇博客就要来介绍一下Fragment的另类用法,...

    Android 两个Fragment之间的跳转和数据的传递实例详解

    Android 两个Fragment之间的跳转和数据的传递实例详解  作为一个Android的菜鸟,前些天在做项目的时候用到了fragment,需求是从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样。在...

    Android应用开发中Fragment间通信的实现教程

    为了重用Fragment UI 组件,在设计中你应该通过定义每一个fragemnt自己的layout和行为,让fragment的...两个fragment之间不应该直接进行通信。 定义接口 为了允许fragment和它的Activity通信,你应该fragment类中定义一

    巧用Fragment,适配手机和平板两种屏幕

    这是一个利用Fragment特性,分屏同时适配手机和平板的例子,有需要的可以下载一下

    标题RadioButton内容viewpager,fragment,listView组合

    本资源项目,对于eclipse和Android studio两种开发软件设置了两个对应版本。 1.标题栏用RadioGroup,RadioButton来实现,下面的展示由viewpager和fragment组合实现,内容为listView。 2.可以点击radiobutton 改变...

    Android应用开发中Fragment与Activity间通信示例讲解

    由于在android的实现机制中fragment和activity会被分别实例化为两个不相干的对象,他们之间的联系由activity的一个成员对象fragmentmanager来维护.fragment实例化后会到activity中的fragmentmanager去注册一下,这个...

    Android主页面 多层Fragment嵌套(Fragment+ViewPager)滑动

    Android主页面 多层Fragment嵌套(Fragment+ViewPager)滑动,一个适合学习的好的demo,给学习android开发的新手朋友传播数来

    GSYVideoPlayer仿抖音、头条视频列表,播放直播流和小视频,左右VP+Fragment+RV 还附送点赞动画效果

    GSYVideoPlayer仿抖音、头条...这里做了三个列表,分别是满屏播放、自适应播放两种模式,以及RV滑动自动播放当前的视频(效果和今日头条或者微信朋友圈一致)。内容分别有m3u8直播流、mp4小视频。还附送点赞动画效果。

    Android Fragment 和 FragmentManager 的代码分析

    这两天在研究插件化编程,在使用 Fragment 碰到了一些问题,于是查看源码,顺便分析了一下 Fragment 和 FragmentManager 以及其他几个 API 的原代码,看看他们是怎么工作的。 我们知道 Fragment 有个 onCreateView()...

    Android程序开发之Fragment实现底部导航栏实例代码

    流行的应用的导航一般分为两种,一种是底部导航,一种是侧边栏。 说明 IDE:AS,Android studio; 模拟器:genymotion;...中间一个FragmentLayout用来放相应的Fragment; 底部一个大的LinearLayout放着四个样式一样

    Android开发权威指南 第二版

    《Android开发权威指南(第二版)》除了为每一个知识点提供完整的示例外,最后还提供了两个完整的项目:笑脸连连看和NFC侠。这两个项目极具参考价值,尤其是NFC侠,是笔者维护的一个开源项目,用于在不支持NFC的手机或...

    Android优化方案之Fragment的懒加载实现代码

    一、背景 在Android应用中,ViewPager是我们不可避免使用的一个...如上图所示,我们有两个大的Tab:人物和风景。而人物Tab下有三个Tab:美女、帅哥、萌娃三个Tab,风景Tab下有:北京、香港、上海三个Tab。假如当App刚

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    目前市场业务中在产品以及其他项目的认证和检测方面存在诸多不便,用户需要实地考察并频繁与检测单位沟通,填写繁琐的纸质检测报告、当面送递样品,对于检测环节中存在的问题难以及时交互并处理。市场上相应的检测...

    Android开发权威指南

    《Android开发权威指南(第二版)》除了为每一个知识点提供完整的示例外,最后还提供了两个完整的项目:笑脸连连看和NFC侠。这两个项目极具参考价值,尤其是NFC侠,是笔者维护的一个开源项目,用于在不支持NFC的手机或...

    安卓FragmentTab选项卡相关-TabLayout实现选项卡功能.zip

    TabLayout实现选项卡功能.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

Global site tag (gtag.js) - Google Analytics