Fragment出现的BUG
来源:互联网 发布:python标准文档 编辑:程序博客网 时间:2024/05/29 03:22
1 Caused by: java.lang.IllegalArgumentException: Binary XML file line #25: Duplicate id 0x7f070193, tag null, or parent id 0x0 with another fragment for xxxx
2 有时会出现Fragment重复或者覆盖到一起,这是因为当屏幕发生旋转,Activity发生重新启动,默认的Activity中的Fragment也会跟着Activity重新创建;这样造成当旋转的时候,本身存在的Fragment会重新启动,然后当执行Activity的onCreate时,又会再次实例化一个新的Fragment,这就是出现的原因。
解决方法:
这种异常是嵌套片段(nested fragment)与系统版本不相容导致的,而嵌套片段通常支持Android4.2。一个fragment的UI中嵌套另一个fragment,极有可能会造成程序运作异常。
注:嵌套片段只能在动态添加的操作中完成,也就是说,当layout中已经包含了一个<fragment>,就不能将再将这个layout嵌入到fragment中.来自stackoverflow
private static View view;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (view != null) { ViewGroup parent = (ViewGroup) view.getParent(); if (parent != null) parent.removeView(view); } try { view = inflater.inflate(R.layout.map, container, false); } catch (InflateException e) { /* map is already there, just return view as it is */ } return view;}
2 有时会出现Fragment重复或者覆盖到一起,这是因为当屏幕发生旋转,Activity发生重新启动,默认的Activity中的Fragment也会跟着Activity重新创建;这样造成当旋转的时候,本身存在的Fragment会重新启动,然后当执行Activity的onCreate时,又会再次实例化一个新的Fragment,这就是出现的原因。
那么如何解决呢:
其实通过检查onCreate的参数Bundle savedInstanceState就可以判断,当前是否发生Activity的重新创建:
默认的savedInstanceState会存储一些数据,包括Fragment的实例,所以在Activity的onCreate中:
if(savedInstanceState == null) { mFOne = new FragmentOne(); FragmentManager fm = getFragmentManager(); FragmentTransaction tx = fm.beginTransaction(); tx.add(R.id.id_content, mFOne, "ONE"); tx.commit(); }
0 0
- Fragment出现的BUG
- 随笔:关于使用fragment出现的一个bug
- 在使用v4包中的fragment时出现空指针的bug
- 在布局里直接用fragment标签出现bug
- Fragment 通过构造函数传数据 出现崩溃Bug
- fragment 嵌套Fragment,出现空白的问题
- Fragment嵌套Fragment使用存在的一些BUG以及解决方法
- fragment嵌套viewpager viewpager嵌套fragment 的bug
- Android-Fragment的onActivity诡异Bug
- android之Fragment的bug解决
- Android-Fragment的onActivity诡异Bug
- Android-Fragment的onActivity诡异Bug
- Android和Fragment的onActivity诡异Bug
- Android Fragment嵌套导致的bug
- ListView嵌套ViewPager+Fragment引起的Bug
- ViewPager+Fragment出现的问题
- Fragment出现的重影问题
- Ubuntu 装机出现的bug
- 三个数从小到大排序
- MongoDB的安装(在window和Ubuntu下)
- ACM-ICPC Dhaka Regional 2012 题解
- 踏入程序员的道路
- 算法:冒泡排序Java代码
- Fragment出现的BUG
- poj 2817 状态DP
- C++ 打印文件名, 行号,编译日期和时间例子
- SDUT 1157-小鼠迷宫问题(BFS&DFS)
- 字符串匹配Sunday算法实现
- POJ 1276 - Cash Machine(多重背包)
- koajs安装教程
- object-c用@property管理内存
- 一张图告诉你Native APP、WEB APP与Hybrid APP的区别