Fragment(碎片)动态创建

Fragment(碎片)动态的创建

       动态创建不用像 静态一样要在主activity_main.xml布局文件
布局fragment(碎片)。
       动态创建碎片只需要在activity_main.xml布局文件里放需要的
小布局(其实相当于fragment(碎片))
示例代码
<LinearLayout 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:orientation="vertical" >
 
    <LinearLayout
        android:id="@+id/text_layout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="6"
        android:background="#ebebeb" />
  
</LinearLayout>

上面的activity_main.xml布局文件里只放了一个小的 线性布局
但和静态创建的时候 还是有点相似的 -- 只不过静态创建 activity_main.xml
布局文件里放的是fragment(碎片)。 -- 基础阶段先这样理解。


=================================================================

 

Fragment动态的创建

     1、首先要继承Fragment类
  2、获取Fragment管理器
        -- FragmentManager fragmentManager = getSupportFragmentMannager();
  3、用Fragment管理器启动一个事物
        -- FragmentTransaction transaction = fragmentManager.beginTransaction();
     4、然后就可以利用事物 -- transaction 自带的添加 删除 替换 操作数据了
  5、操作完数据后 -- 注意:要提交事物
        -- transaction.commit();
    
--------------------

事物自带添加 删除 替换 方法说明

添加
//第一个参数 -- 在主activity_main.xml布局文件里放的线性小布局
//该小布局可以放其他的控件视图 -- 这样就相当于一个碎片了(动态创建)

//第二个参数 -- Left.java类,该类继承Fragment -- 碎片类
//该类中重写的onCreateView 会返回View(视图) 到第一个参数 -- 小布局上(碎片)

//第三个参数 -- 标志 -- 当要修改或者删除的时候 可以利用
    transaction.add(R.id.text_layout,left_fragment,"My_left_fragment");
 
删除
//先找到需要删除的标志
     Fragment tag = transaction.findFragmentByTag("My_left_fragment");
  //然后删除相应的标志
  transaction.remove(tag);
  //不要忘记提交事物
  transaction.commit();
 
替换

//找到要替换的标志
     Fragment tag = transaction.findFragmentByTag("My_left_fragment");

if(tag == right_fragment){//判断要替换的标志是不是Right_fragment碎片类的

//如果是 就找到该类 在找到该标志 把要替换的内容替换掉
//通过第二个参数 返回来的新视图来替换原来的视图就行

//第三个参数 -- 替换后的新标志

    transaction.replace(R.id.text_layout,left_fragment,"My_left_fragment");

}

 
==================================================================

动态创建就先了解这些 后面通过一个小程序理解Fragment(碎片)的动态创建

 

转载于:https://my.oschina.net/u/2542711/blog/608587

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值