TwelveDay-Fragment基本操作

一、Fragment

特点:碎片用来将页面模块管理,一个Activity中间以有多个碎片,碎片不可以单独使用

二、显示方式

1、静态显示

页面布局:</>

2、动态显示

步骤及内部方法

1、FragmentManger m =getSupportFragmentManger();
2、FragmentTranscation transaction = m.beginTransction()’
3、transaction.add(R.id.占位控件,fragment对象);
4、transaction.replace(R.id.占位控件,frragment对象);
4、transaction.remove(frragment对象);
4、transaction.hide(frragment对象);//必须添加过
4、transaction.show(frragment对象);//必须add过

三、如何创建Fragment

1、自定义类继承Fragment
2、重写onCreateView()为Fragement填充布局
在这里插入图片描述

四、生命周期

1.onAttach() :添加到Activity执行,只执行一次
2.onCreate():创建Fragment时执行,只执行一次
3.onCreateView():创建布局,更新布局时执行,执行多次
4.onActivity():启动Activity执行
5.onStart():启动或重启
6.onResume():获得焦点
7.onPause():失去焦点
8.onStop():停止时执行,界面不可见
9. onDestroyView() :销毁布局
10.onDestroy():销毁自己
11.onDetach():从Activity中移除

与Activity类似:Fragment也有以下几种状态
1、活动状态:当前Fragment位于前台,可见可获得焦点
2、暂停状态:其他Activity位于前台,该Fragment可见,不获得焦点
3、停止状态:不可见失去焦点
4、销毁状态:该Fragment被完全删除或被结束

五、Fragment-Fragment 相互传值

1、EventBus

步骤

1、 Fragment1 发送EventBus.getDefault().postSticky();
2、Fragement2 注册,解绑,接收
在这里插入图片描述

2、replace()+setArgments()+getArgments();

步骤

1、Fragment1:
replace();//替换一个新的fragment
Bundle bundle = new Bundle();
bundle.putString(“k”,v);
Fragment2 f2 = new Fragment2();
f2.setArgments(bundle);//把数据给新的Fragment
replace(R.id.控件,f2);

2、Fragment2:
获得Bundle.getArgments(); --Bundle

3、传值案例:

在这里插入图片描述
这个案例总共按照两种方式写的
先看第一个:
上边的Fragment
在这里插入图片描述
下边的Fragment:
在这里插入图片描述
接下来看第二种:
下边所圈的内容就是两种方法不同的地方
这是上边的Fragment
在这里插入图片描述
其次是下边的:
两种方法代码差距不大,可以相互对比来看
在这里插入图片描述

效果图:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值