Android fragment.replace()第一个参数不能真正替换的解决方法
来源:互联网 发布:半熟鸡蛋 知乎 编辑:程序博客网 时间:2024/04/25 02:42
在用tabhost切换fragment的时候,会用到切换fragment的,Android fragment .replace()的第一个参数要选对
首先贴一段布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/normal_bg" > <RelativeLayout android:id="@+id/tab_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="@drawable/tab_bg" android:gravity="bottom" > <ImageView android:id="@+id/tab_bg_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@null" android:src="@drawable/tab_select_bg" /> <LinearLayout android:id="@+id/tab_item_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="bottom" android:orientation="horizontal" > <ImageView android:id="@+id/tab_bt_1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:contentDescription="@null" android:src="@drawable/tab_icon_01" /> <ImageView android:id="@+id/tab_bt_2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:contentDescription="@null" android:src="@drawable/tab_icon_02" /> <RelativeLayout android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" > <ImageView android:id="@+id/tab_bt_3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@null" android:src="@drawable/tab_icon_03" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@id/tab_bt_3" android:layout_alignTop="@id/tab_bt_3" android:background="@drawable/messages_bg" android:gravity="center" android:text="1" android:textColor="@android:color/white" /> </RelativeLayout> <ImageView android:id="@+id/tab_bt_4" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:contentDescription="@null" android:src="@drawable/tab_icon_04" /> </LinearLayout> </RelativeLayout> <LinearLayout android:id="@+id/content_container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/tab_container" android:orientation="vertical" > </LinearLayout> <LinearLayout android:id="@+id/content_container2" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/tab_container" android:orientation="vertical" > </LinearLayout></RelativeLayout>
主要代码部分:
Fragment f = new Home1Fra(); if (null == mFM) mFM = getSupportFragmentManager(); FragmentTransaction ft = mFM.beginTransaction(); ft.replace(R.id.content_container, f); ft.commit();
这时候代码
ft.replace(R.id.content_container, f);会失效,并不会完全真正的替换掉原先布局。
正确的做法是用
FrameLayout布局替换
LinearLayout
来解决,即可完全替换掉。
这样就解决了不能完全替换原先布局带来的苦恼。
0 0
- Android fragment.replace()第一个参数不能真正替换的解决方法
- Replace替换第一个出现的字符
- 关于Regex.Replace只替换第一个的问题
- Js、JQuery replace 替换全部、替换第一个
- string.replace()默认只替换第一个,如何全文替换
- Android Fragment 真正的完全解析(上) add remove replace detach attach hide show
- Android Fragment 真正的完全解析(上) add remove replace detach attach hide show
- 使用正则解决Js、JQuery replace 只替换第一个的问题
- Android中Fragment之间replace(替换)的动画效果的实现
- 解决replace()方法只能替换第一个字符
- [Android]Fragment加载替换add,show,hide,replace方法
- android scrollview 嵌套 Viewpager, Viewpager 不能动态的设置高度,一直使用第一个fragment页面的高度
- android 替换fragment不能全屏问题.
- [Android]Snackbar的第一个参数
- android中fragment出现replace方法参数不匹配
- ViewPage中Fragment替换失败的解决方法
- 第一个真正的Windows程序
- 第一个真正项目的点点滴滴
- HDU1231最大连续子序列(dp)
- mysql中insert...on duplicate key update...使用
- git子模块更新的两个错误解决
- mysql rename 操作
- 数据结构实验之二叉树七:叶子问题
- Android fragment.replace()第一个参数不能真正替换的解决方法
- smartforms 黑底白字的标签logo制作
- linux中了minerd之后完全清理过程
- #ROC和AUC介绍以及如何计算AUC
- 9.【动态规划】 Climbing Stairs --Accepted code
- ftp数据采集的代码(一次性数据采集)
- linux环境下memcached的安装与使用
- sqlcmd基本用法
- jqGrid创建表格