Android解决fragment重影问题
16lz
2021-01-25
今天主要说一下出现fragment重影的问题。
Activity 中的 onSaveInstanceState() 里面有一句super.onSaveInstanceState(outState);,Google 对于这句话的解释是 “Always call the superclass so it can save the view hierarchy state”,大概意思是“总是执行这句代码来调用父类去保存视图层的状态”。通过注释掉这句话,这样主 Activity 因为种种原因被回收的时候就不会保存之前的 fragment state,也可以成功解决重叠的问题。
注意:要把这个方法写在你的homeActivity里面,也就是你写底部按钮和加载fragment的页面
如图:这样就可以解决这个问题了。
//解决fragment@SuppressLint("MissingSuperCall")@Overridepublic void onSaveInstanceState(Bundle outState) { //如果用以下这种做法则不保存状态,再次进来的话会显示默认的tab // super.onSaveInstanceState(outState);}
更多相关文章
- android 拍照或选择图片的实现方式//AtlerDialog的多种样式
- Android开发常见的问题
- 【Android】录音机
- android中加载图片时出现oom
- Android(安卓)--- 加载更多,刷新的逻辑----
- WebView设置之WebViewClient
- android启动模式singleInstance的疑惑
- android TabHost简单使用
- android activty的生命周期