咸宁网站制作培训,个人备案可以做门户网站吗,网站建设的成本主要有哪几项,如何查询某个网站的设计公司Fragment
Fragment创建的步骤
1、 继承fragment一定是V4包下的
2、 有且只有一个无参的构造方法
3、 如果Fragment需要显示界面#xff0c;需要重写onCreateView方法
4、 指定布局资源#xff0c;或者创建布局#xff0c;返回即可
静态创建frag…Fragment
Fragment创建的步骤
1、 继承fragment一定是V4包下的
2、 有且只有一个无参的构造方法
3、 如果Fragment需要显示界面需要重写onCreateView方法
4、 指定布局资源或者创建布局返回即可
静态创建fragment时
需要指定fragment的class属性 以及给Fragment加上id或者tag属性在onCreateView内部可以设置控件的内容开启线程连接网络.。
Fragment的作用
1、 简化重复的开发工作将内容与工程整合最终提供功能的重用性
2、 体改内聚减少耦合成都度
3、 Fragment用于布局界面的切分和优化减少布局的重复提高开发的效率。
通常tab样式的切换使用RadioGroup。主流的底部tab切换页面的设计方式就是中间一个FrameLayout 底部RadioGroup 切换时替换FrameLayout中的fragment
每一个Fragment可以通过两种方式添加到activity中
1 使用fragment标签直接添加到activity
2 使用代码来添加使用两个类Frgamentmanager SupportFragmentManager
3 内部添加删除替换隐藏显示需要manager.beginTransaction()
4 事物每次操作之前必须重启不允许使用成员变量的方式。
Fragment的生命周期
1、 Fragment的声明周期和activity的声明周期相似
2、 以为Fragment依赖于Activity显示那么当Activity发生生命周期变化的时候Fragment同样发生相同的变化包括
1 onCrate
2 onStart
3 onResume
4 onPause
5 onStop
6 onDestroy
Fragment还有一些声明周期
onAttach()执行该方法时Fragment与Activity已经完成绑定该方法有一个Activity类型的参数代表绑定的Activity这时候你可以执行诸如mActivity activity的操作。onCreate()初始化Fragment。可通过参数savedInstanceState获取之前保存的值。onCreateView()初始化Fragment的布局。加载布局和findViewById的操作通常在此函数内完成但是不建议执行耗时的操作比如读取数据库数据列表。onActivityCreated()执行该方法时与Fragment绑定的Activity的onCreate方法已经执行完成并返回在该方法内可以进行与Activity交互的UI操作所以在该方法之前Activity的onCreate方法并未执行完成如果提前进行交互操作会引发空指针异常。onStart()执行该方法时Fragment由不可见变为可见状态。onResume()执行该方法时Fragment处于活动状态用户可与之交互。onPause()执行该方法时Fragment处于暂停状态但依然可见用户不能与之交互。onSaveInstanceState()保存当前Fragment的状态。该方法会自动保存Fragment的状态比如EditText键入的文本即使Fragment被回收又重新创建一样能恢复EditText之前键入的文本。onStop()执行该方法时Fragment完全不可见。onDestroyView()销毁与Fragment有关的视图但未与Activity解除绑定依然可以通过onCreateView方法重新创建视图。通常在ViewPagerFragment的方式下会调用此方法。onDestroy()销毁Fragment。通常按Back键退出或者Fragment被回收时调用此方法。onDetach()解除与Activity的绑定。在onDestroy方法之后调用。
生命周期当Activity启动后首先执行activity的onCreate方法之后执行Fragment的onAttch方法当进行replace方法是执行onDetachon方法。启动APP的声明周期变化当fragment进行切换的时候生命周期的变化首先是两一个Fragment先与Activity进行连接执行onAttach方法
之后Fragment执行onCraete方法
之前的fragment进入到不可见状态onPause之后之前的Fragment onStop 销毁界面之后销毁之后与Activity失去联系
此时先的Fragment创建View视图执行onCrateView方法之后onActivityCrate方法start进入活动状态onResuume状态。
点击back键
Fragment 执行onPuase不可见onStop ondestroyView ondestroy onDetach方法。这个界面的时候执行onPause onstop 恢复之后Fragment onStart Activity onstart Activity onResume Fragment onResume参考借鉴于网络
生命周期变化 : 切换到该Fragment05-21 14:26:35.095:D/FragmentDemo(7649): onAttach05-21 14:26:35.095: D/FragmentDemo(7649):onCreate05-21 14:26:35.095: D/FragmentDemo(7649):onCreateView05-21 14:26:35.100: D/FragmentDemo(7649):onActivityCreated05-21 14:26:35.120: D/FragmentDemo(7649):onStart05-21 14:26:35.120: D/FragmentDemo(7649):onResume屏幕灭掉05-21 14:27:35.185:D/FragmentDemo(7649): onPause05-21 14:27:35.205: D/FragmentDemo(7649):onSaveInstanceState05-21 14:27:35.205: D/FragmentDemo(7649):onStop屏幕解锁05-21 14:33:13.240:D/FragmentDemo(7649): onStart05-21 14:33:13.275: D/FragmentDemo(7649):onResume切换到其他Fragment:05-21 14:33:33.655:D/FragmentDemo(7649): onPause05-21 14:33:33.655: D/FragmentDemo(7649):onStop05-21 14:33:33.660: D/FragmentDemo(7649):onDestroyView切换回本身的Fragment:05-21 14:33:55.820:D/FragmentDemo(7649): onCreateView05-21 14:33:55.825: D/FragmentDemo(7649):onActivityCreated05-21 14:33:55.825: D/FragmentDemo(7649):onStart05-21 14:33:55.825: D/FragmentDemo(7649):onResume回到桌面05-21 14:34:26.590:D/FragmentDemo(7649): onPause05-21 14:34:26.880: D/FragmentDemo(7649):onSaveInstanceState05-21 14:34:26.880: D/FragmentDemo(7649):onStop回到应用
05-21 14:36:51.940:D/FragmentDemo(7649): onStart05-21 14:36:51.940: D/FragmentDemo(7649):onResume退出应用
05-21 14:37:03.020:D/FragmentDemo(7649): onPause05-21 14:37:03.155: D/FragmentDemo(7649):onStop05-21 14:37:03.155: D/FragmentDemo(7649):onDestroyView05-21 14:37:03.165: D/FragmentDemo(7649):onDestroy
05-21 14:37:03.165:D/FragmentDemo(7649): onDetach如果替换或者删除一个fragment然后然用户可以导航到上一个fragment必须在调用commit方法之前调用addToBackStack方法添加到回退栈如果你把这个fragment添加到了回退站栈在提交之后这个fragment会是被Stop而不是destroy如果用户导航到这个fragment这个fragment将会被Restart而不是重新创建如果没有吧它添加到回退栈则在删除或者替换的时候它被Destroyed。
与其他fragment之间的交互两个单独的fragment之间是不应该进行通信的应该使用他们所在的Activity作为沟通的纽带为了实现两个Fragment的交互您可以在Fragment中定义一个接口然后再这个接口中定义一个方法在Fragment的onAttach()方法中调用这个接口中的方法。然后让Activity实现这个方法来完成Activity和Fragment之间的通信。