Android 关于Fragment一些简单注意事项
1.Fragment的生命周期一定要了解清楚:
其实没有什么好说的。
注意关键字所执行的方法:
注意下面基本fragmentTransaction.replace();运行
当FragmentA(初始化)和FragmentB(后启动的) "新建" 、"显示" 、"隐藏"、“结束” 时调用了那些方法.(按顺便从左到右)
"新建" (onAttach->onCreate->onCreateView->onActivityCreated)
"显示" (onStart->onResume)
"隐藏" (onPause->onStop)
“结束” (onDestroyView->onDestroy->onDetach)
FragmentA "打开"--->执行 "新建" 再执行FragmentA 的"显示"
FragmentB "打开"--->执行FragmentA "隐藏" 再才执行FragmentA “关闭” 执行 Fragment B "新建" 再执行Fragment B 的"显示"
FragmentB "关闭"--->执行FragmentB "隐藏" 再才执行FragmentB “关闭” 最后执行FragmentA 的"显示"
如果不清楚这几点的生命周期,对控制开发Fragment的操作非常有影响。
2. 就是FragmentActivity进行控制Fragment。
关键点: 要不要执行 fragmentTransaction.addToBackStack(null); (通俗点说: 可以返回 还是 不可以返回)
如果要可以返回的话。在 "自身" 调用 fragmentTransaction.commit(); 之前加上上面那句话。
注意 是 "自身" 的。
因为很多时。为了统一调用方法,就傻乎乎的去调用别人的接口,也不知道别人里面写什么。
结果自己调试N久都不知道什么情况。
3. 在一个Fragment A 嵌入另一个 Fragment B 时. 究竟启动Fragment B时要放在生命周期中的哪个方法呢。
(如果放不好的话,Fragment B 在可以返回的情况下,无法关闭 Fragment A和连带的Fragment B)
在上面生命周期中说到 "新建" 、"显示" 、"隐藏"、“结束” 这4个词。
在这4个词中。在Fragment中只会执行一次的就只有 "新建" 和 “结束” 。
用脑子想想都知道不可能放在“结束”中的方法,所以只能放在"新建"的方法中的 随便一个。
4.如何使用Fragment来处理逻辑而动态显示页面。
首先,加载一个Fragment方式有以下几种:
1.add(Fragment fragment, String tag)
用于加载不用显示UI的Fragment ,不过需要加入标记字符
2.add(@IdRes int containerViewId, Fragment fragment);
一看就知道将fragment绑定在UI上containerViewId的显示。
3.add(@IdRes int containerViewId, Fragment fragment,@Nullable String tag);
这个又要标记。又要绑在UI上的方式。(我个人用的是最少了)
相信各位自己已经知道自己要用哪一种方式加载fragment了。
5.
Android 关于Fragment一些简单注意事项的更多相关文章
- Android开发——Fragment的简单使用总结
前言: 之前搞项目的时候,就使用了这个Fragment,中间遇到了许多坑,把坑都解决了,现在写一篇较为简单的Fragment使用总结 Fragment的简单介绍: 简单来说,Fragment其实可以理 ...
- 【Android】Fragment的简单笔记
被虐了,做某公司笔试时,发现自己连个Fragment的生命周期都写不详细.平时敲代码,有开发工具的便利,有网上各大神的文章,就算忘了也很容易的可以查到,但当要自己不借助外界,却发现自己似乎对该知识点并 ...
- Android中Fragment的简单介绍
Android是在Android 3.0 (API level 11)引入了Fragment的,中文翻译是片段或者成为碎片(个人理解),可以把Fragment当成Activity中的模块,这个模块有自 ...
- Android中Fragment和ViewPager那点事儿(仿微信APP)
在之前的博文<Android中使用ViewPager实现屏幕页面切换和引导页效果实现>和<Android中Fragment的两种创建方式>以及<Android中Fragm ...
- Android中Fragment的两种创建方式
fragment是Activity中用户界面的一个行为或者是一部分.你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activity中再使用.你可以认 ...
- android之Fragment基础详解(一)
一.Fragment的设计哲学 Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕比手机的大得多,有 ...
- Android使用Fragment来实现ViewPager的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3364728.html 我前两天写过一篇博客<Android使用Fragment来 ...
- Android之Fragment(二)
本文主要内容 如何管理Fragment回退栈 Fragment如何与Activity交互 Fragment与Activity交互的最佳实践 没有视图的Fragment的用处 使用Fragment创建对 ...
- Android之Fragment(一)
Fragment的产生与介绍 Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板 ...
随机推荐
- Web服务器讲解与JavaWeb应用部署(本机,以Tomcat为例)
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6042290.html 在讨论Web系统发布之前,我们先来辨析两个概念:服务器.Web服务器. 通常,我们说的服 ...
- C#匿名对象在其它方法体内怎么取到相应的值(不想建立对应的类并转化的情况下)?
public object AnonymousObj() { ", Message = "OK", Data = new {...} } } public void Ot ...
- Linux主流架构运维工作简单剖析
转载:http://wgkgood.blog.51cto.com/1192594/1586259 随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如 ...
- 防止跨站请求伪造(CSRF)攻击 和 防重复提交 的方法的实现
CSRF的概念可以参考:http://netsecurity.51cto.com/art/200812/102951.htm 本文介绍的是基于spring拦截器的Spring MVC实现 首先配置拦截 ...
- Generating phar.phar chmod: cannot access `ext/phar/phar.phar': No such file or directory make: [ext/phar/phar.phar] Error 1 (ignored)
make install出现了cp: cannot stat `ext/phar/phar.phar': No such file or directory 于是我又: cd ext/phar/ls ...
- LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除
一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...
- 利用LD_PRELOAD hook代码
loader在进行动态链接的时候,会将有相同符号名的符号覆盖成LD_PRELOAD指定的so文件中的符号.换句话说,可以用我们自己的so库中的函数替换原来库里有的函数,从而达到hook的目的.这和Wi ...
- 修改cnblogs日历控件CSS
自定义cnblogs日期控件的样式时, 关于透明度 控件头部死活没法透明 在background属性值后边添加!important即把cnblogs系统自带的属性覆盖, 解决了该问题. !import ...
- numpy文件读写的三对函数
在Python很多库中,使用文件名的地方都可以使用文件对象来替代. 在下述三种方法中,都是如此. 一.a.tofile()和np.fromfile() numpy中的ndarray对象有一个函数tof ...
- Geocoding java调用百度地图API v2.0 图文 实例( 解决102错误)
如何使用? 第一步:申请ak(即获取密钥),若无百度账号则首先需要注册百度账号. 第二步,拼写发送http请求的url,注意需使用第一步申请的ak. 第三步,接收http请求返回的数据(支持json和 ...