Activity和fragment的数据交互(1)-Fragment的添加

Activity和fragment的关系

fragment 英文翻译过来是是碎片的意思,它可以说是activity的一部分,不能够独立的存在,需要有一个activity载体,一个fragment可以被多个activity复用。相当于fragment可以随意被挪动,而activity则是固定不变的。fragment复用起来就更加的灵活了。

怎么添加fragment到activity中呢

既然fragment不能独立的存在,需要一个activity作为载体。那怎么才能够添加到fragment呢。

  • 在java代码中添加

  1. 在你的布局xml中放置一个布局,用做来添加你的Fragment。任意的布局都可以,一般使用FragmeLayout来加载,小菜鸟也不知道为什么,只是每次都这样做。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".SecondActivity">

// 承载Fragment的布局
    <FrameLayout android:id="@+id/fl_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>
  1. 在你的载体activity中用代码添加布局

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val fragment = OneFragment()
        // 获取manager开始事务,添加你的Fragment实例,然后提交
        supportFragmentManager.beginTransaction().add(R.id.fl_content, fragment).commit()
        // Fragment也可以替换的哦
        val otherFragment = SecondFragment()
        supportFragmentManager.beginTransaction().replace(R.id.fl_content, otherFragment).commit()
    }
  • 在xml中添加

在你的布局文件中添加fragment标签, 这个时候一定要标id哦, java代码中不需要做任何处理

// name 的值,需要填你的Fragment的位置:包名+类名, 
<fragment android:name="com.example.myapplication.fragment.OneFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/one_fragment" />

------  END  ---------

关注我

每天进步一点点

0d78cd4ef63f5988ecf0e6ada517da18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值