Android Fragment碎片化

Fragment

在Android3.0出现的,把它想象成Activity的一个模块化区域。拥有自己的生命周期,并且受其宿主Activity的影响,可以在Activity运行期间被添加或删除。
静态加载:
当作普通UI控件放在界面layout中。
动态加载:
1.开启一个事务。
2.通过事务添加Fragment。
3.提交事务,否则添加不成功。

Fragment向下兼容

1.Fragment类与FragmentManager类改为support-v4包下的类。
2.继承的Activity类改为support-v4包下的FragmentActivity类。
3.通过getSupportFragmentManager()方法来获取FragmentManager类的实例。

Fragment生命周期

方法名称方法说明
onAttach()绑定Fragment到Activity
onCreate()创建Fragment
onCreateView()创建Fragment的布局
onActivityCreated()Activity创建完成后回调该方法
onStart()可见,不可交互状态
onResume()可见,可交互状态
onPause()部分可见,不可交互状态
onStop()不可见状态
onDestroyView()销毁Fragment的View对象
onDestroy()Fragment被销毁
onDetach()Fragment从Activity解绑

Fragment与Activity如何交互?

1.在Activity获取Fragment对象
若Activity中包含自己管理的Fragment引用,可以**直接访问**Fragment的公有方法进行相应操作。
若Activity中未保存Fragment的引用,则通过getFragmentManager().findFragmentByTag()或findFragmentById()获取相应Fragment的实例,然后进行操作。
2.在Fragment中获取Activity对象
在Fragment中可以通过getActivity()方法得到当前绑定的Activity的实例,然后进行相应的操作。
注意:在Fragment中可以通过getActivity()方法获取Context,若需要让Context在Activity被销毁后还存在,则用getActivity().getApplicationContext()来获取。

切换Fragment

//获取FragmentManager的实例
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction  = fragmentManager.beginTransaction();//开启事务
ExampleFragment fragment = new ExampleFragment();//创建一个Fragment
fragmentTransaction.replace(R.id.content, fragment);//事务添加Fragment
fragmentTransaction.commit();//提交事务
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值