FragmnetActivity 出现onSaveInstance() 错误

最近接触的项目 在主界面用的是TabHost管理的多个Activtiy,然后其中有一个Activity是继承于FragmentActivity的。并且在里面又嵌套了两个Fragment。

在子Activity中 两个Fragment进行切换,我避免每次切换的时候都重新调用Fragmnet 的onCreateView()方法 .

就使用了add方法, 在结束的时候调用了Fragment.commit() 方法。


在子Activity中点击按钮 切换Fragmnet 的时候很流畅,没有问题。

但是在TabHost 中进行切换的时候从其他Activity再切换回来的时候,就崩溃了。 查询后发现需要将commit()给替换成commitAllowingStateLoss().就可以了

效果是一样的。


以为问题解决了。但是没想到的是

从当前FragmentActivity切换到其他Activity,然后再切换回来后,点击返回键,这个时候程序又崩溃了。

提示的错误还是onSaveInstance()。问题。


之后找到的解决方法就是,在FragmnetActivity中将他的onBackPressed()方法重写。

拦截事件,并发送一个广播给TabHost对象,然后这个TabHost 对象收到广播之后再关闭,就可以了。


参考:

http://zhiweiofli.iteye.com/blog/1539467


你可能感兴趣的:(error)