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

经验解决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

时间: 2024-10-18 21:20:40

经验解决Fragment被Replace后仍旧可见的问题的相关文章

解决Fragment中使用ViewPager时,ViewPager里的Fragment错位和空白问题。

这两天开始在改OSChina的开源android客户端,打算用Fragment来分离Main这个Activity里的功能.用Fragment嵌套ViewPager+Fragment的时候发现问题. 红色框的是主Fragment,蓝色框是主Fragment内嵌的ViewPager+Fragment. 例如当"资讯"切换到"问答"的时候,"问答"内的ViewPager+Fragment显示不符合预期,因为里面的Fragment错位了,前面几个显示的是

解决Eclipse异常关闭后重启报 org.eclipse.swt.SWTException: Invalid thread access 的问题

. . . . . 很久没有写博客了,最近实在是太忙,一直想写点干货,但是一直没静下心来学习. 今天又在加班忙碌之中,结果谁知道越忙碌越出问题.先是 weblogic 没有正常启动,凭经验第一反应就是7001端口被其它程序占用了,然后通过命令查看之后,发现果然是被占用了,占用端口的竟然是Eclipse,查找占用端口的方式请移步至博主的另一篇文章<[windows]查询占用端口的程序——记一次解决webloigc启动失败的过程>. Eclipse之前是不占用7011端口的,这次占用估计可能是启动

解决div相对定位移动后的空白

解决方法:用margin-top:-100px 解决div相对定位移动后的空白,布布扣,bubuko.com

解决使用强制配置文件后无法使用远程协助

很久没有更新过Blog了,最近有没有新的小伙伴关注啊. 最近在做一个VDI的项目,虚拟桌面采用池化并且重启还原的模式(类似于网吧模式部署),其中虚拟桌面的配置文件采用强制配置文件. 在将强制配置文件部署完成后,测试虚拟桌面功能,发现虚拟桌面的远程协助无法使用,其实直接调用的Windows自带的远程协助功能. 但是我们在打开的时候出现了以下错误. 提示说是没有权限或者是来宾帐户,但是我们的账户都是采用的标准的domain users组用户. 测试同一用户不采用强制配置文件,使用本地配置文件没有发现

解决安装VC6.0后出现MSDEV.EXE错误解决方法

问题:安装VC6.0后,在打开项目或添加文件时,出现如下错误: 可能导致原因:由于Ms安装软件的兼容性问题,导致VC6.0安装不完全, 解决方法:--网上打sp6补丁的方法貌似不可用,所以可以采用另一种方法 1.在下面的网站下载FileTool.exe http://support.microsoft.com/kb/241396/en-us      2.FileTool.exe是个自解压文件,执行它,解压到某个目录下 3.解压后的文件是一个VC工程,在VC6中编译它 4. 在dsw文件上右键“

解决克隆 centos虚拟机后修改克隆后的机器的ip、mac、uuid失败的问题

解决办法: So here’s how we fix it: Remove the kernel’s networking interface rules file so that it can be regenerated # rm -f /etc/udev/rules.d/70-persistent-net.rules Restart the VM # reboot UPDATE your interface configuration file # vi /etc/sysconfig/ne

解决Button设置disabled后无法执行后台代码问题

一.开始调式下面的程序,发现Button在js中设置disabled后无法执行后台代码(btnsave_Click)问题 <asp:Button ID="btnsave" runat="server" Text="确 定" OnClick="btnsave_Click" OnClientClick="this.disabled = true;alert('提示');" /> 二.有的朋友会认为在

用 ERD 盘解决 Win8 自动更新后不能启动的问题

有安装了 Win8 x64 系统的台式机,在自动更新后无法启动了,在黑屏的情况下,没有反应了. 安全模式也无法进入系统. 几经周折,发现: 在没有反映的时候,只要把 ERD 盘(Win 8 x86)放到光驱中,就能完成启动. 但是,由于是在黑屏的情况下,也不知道到底是少了什么文件. 用 ERD 盘解决 Win8 自动更新后不能启动的问题

解决Fragment中使用ViewPager时,ViewPager里的Fragment错位和空白问题

这两天开始在改OSChina的开源android客户端,打算用Fragment来分离Main这个Activity里的功能.用Fragment嵌套ViewPager+Fragment的时候发现问题. 红色框的是主Fragment,蓝色框是主Fragment内嵌的ViewPager+Fragment. <此处图片暂时上传不上去> 例如当”资讯“切换到”问答“的时候,”问答“内的ViewPager+Fragment显示不符合预期,因为里面的Fragment错位了,前面几个显示的是”资讯“里面的Fra