经验解决Fragment被Replace后仍旧可见的问题

网上问的问题,大多会提到替换了Fragment而发现之前被替换的仍旧显示在那里。我个人使用android 2.3 +support 开发包,在2.3系统上也出现类似问题。搜了下网上的问题,好像都没有找到解决方法。之后自己摸索。最后发现其实,对于Fragment的替换 JAVA代码基本上没啥,网上都是正确的,比如:
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
OrderFragment orderFragment = new OrderFragment();
Bundle args = new Bundle();
args.putInt("card_id", LoginHelper.currentCard.getId());
args.putBoolean("create_order", true);
orderFragment.setArguments(args);
transaction.replace(R.id.layout_shopping1, orderFragment);
//transaction.addToBackStack(null);
transaction.commit();

但多数人并没有意识到,贴出 XML布局文件的重要性:

正确的做法是必须使用FrameLayout作为Fragment被替换的布局容器

例如:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_shopping1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/black" > </FrameLayout>

不能够使用比如线性布局LinearLayout 等,否则就会发生看得见的问题。

奉献点经验,期望可以帮助到遇到类似问题的开发者。

原文地址:http://www.apkbus.com/android-121899-1-35.html

最新文章

  1. Jquery使用小技巧
  2. Python中使用递归输出嵌套列表并转化为大写
  3. BZOJ3551 : [ONTAK2010]Peaks加强版
  4. mysql substring_index
  5. Spring框架学习之第2节
  6. jboss部署出现MarshalOutputStream找不到错误
  7. Linux shell用法和技巧
  8. Extjs 4学习2
  9. unity3d中的http通信 二
  10. Learning Lua Programming (4) Cocos2d-x中Lua编程(一)
  11. A/B测试评测
  12. 365DirMon(文件夹监视专家) v2.8绿色免费版
  13. SwaggerUI ASP.Net WebAPI2
  14. Linux 01 Liunx目录结构及文件基本操作
  15. STL - stack(栈)
  16. C学习笔记-一些知识
  17. npm 升降级
  18. 从app上传图片到php,再上传到java后端服务器的方法一条龙服务
  19. python 喜马拉雅 音乐下载 演示代码
  20. cocos2dx学习之路

热门文章

  1. myDatePinker设置开始时间不能大于结束时间
  2. Android中直播视频技术探究之---桌面屏幕视频数据源采集功能分析
  3. Form1是父,form2是子,2的出现(覆盖在1的上面)不耽误1的操作
  4. SQL高级查询——50句查询(含答案)
  5. [poj2104] K-th Number (主席树)
  6. CodeForces 670D2 Magic Powder 二分
  7. iOS奔溃日志总结
  8. UIActionSheet 这样写为什么显示为空白 ???
  9. Linq实例
  10. BZOJ 1050 旅行comf(枚举最小边-并查集)