Fragment

2.掌握Fragment的使用

(10分)Activity的onSaveInstanceState() 和 onRestoreInstanceState()区别?

答: Activity的onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方

法,它们不同于onCreate()、onPause()等生命周期方法,它们并不一定会被触发。

当应用遇到意外情况(如:内存不足、用户直接按Home键)由系统销毁一个Activity

时,onSaveInstanceState()会被调用。但是当用户主动去销毁一个Activity时,例如

在应用中按返回键,onSaveInstanceState()就不会被调用。因为在这种情况下,用户

的行为决定了不需要保存Activity的状态。通常onSaveInstanceState()只适合用于保

存一些临时性的状态,而onPause()适合用于数据的持久化保存。

         另外,当屏幕的方向发生了改变, Activity会被摧毁并且被重新创建,如果你

想在Activity被摧毁前缓存一些数据,并且在Activity被重新创建后恢复缓存的数

据。可以重写Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法。

framgment生命周期?

oncreate,onstart,onrestart,onstop,onresume,ondestroy,onpause,onAttach,onCreateView,onDettach,onDestroyView;(和activity的生命周期比较,会更好)

 MyFragment onAttach() 粘贴到activity上
MyFragment onCreate() fragment创建
MyFragment onCreateView() fragment创建自己的视图

MainActivity onCreate()
MyFragment onActivityCreated() 可以处理fragment数据的初始化

MainActivity onStart()
 MyFragment onStart()

MainActivity onResume()
MyFragment onResume()

按后退键
MyFragment onPause()
MainActivity onPause()

 MyFragment onStop()
 MainActivity onStop()

MyFragment onDestoryView() 销毁掉自己的视图
MyFragment onDestory()
MyFragment onDetach() 解除和activity的关系

MainActivity onDestory()

Fragment怎么实现的?

继承Fragment类,重写生命周期方法,主要的不同之处就是需要重写一个onCreateView()方法来返回这个Fragment的布局

在Activity中你可以通过getFragmentManager()来获得Fragment对象,然后通过FragmentManager对象的beginFragmentTransaction()方法来获得FragmentTransaction对象。通过它的add()方法来添加一个Fragment到当前的Activity中。

一个FragmentTransaction对象可以执行多个增删修的方法,如果你想把这些修改提交到Activity上,必须在最后调用一下这个对象的commit()方法

两个单独的Fragment之间是不应该进行通信的。应该使用他们所存在的Activity作为沟通的纽带。

为了实现两个Fragment的交互,您可以在Fragment中定义一个接口,然后再这个接口中定义一个方法,在Fragment的onAttach()方法中调用这个接口中的方法。然后让Activity实现这个方法来完成Activity和Fragment之间的通信

可以通过FragmentManager的findFragmentById()来查找一个Fragment

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值