Fragment使用感受
- 首先创建main.xml布局,写出底部的菜单,并为其上方留白,进行后期的填充
- 创建3个Fragment,分别用于去加载自己的业务逻辑,也就是用来替换掉上面的容器
- 为这3个Fragment创建一个数组,将其添加到定义好的容器里,然后隐藏两个
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, findFragment)
.add(R.id.fragment_container, moneyFragment)
.add(R.id.fragment_container, shopFragment).hide(findFragment)
.hide(moneyFragment).show(shopFragment).commit();
- 在按钮事件里,通过逻辑关系,将不同的Fragment显示出来
Fragment有一个非常强大的功能——就是可以在Activity重新创建时可以不完全销毁Fragment,以便Fragment可以恢复。在onCreate()方法中调用setRetainInstance(true/false)方法是最佳位置。当在onCreate()方法中调用了setRetainInstance(true)后,Fragment恢复时会跳过onCreate()和onDestroy()方法,因此不能在onCreate()中放置一些初始化逻辑,切忌!可能随着我开发的不断深入,我会有不一样的认知吧。 还有一个很奇怪的事情,找不到头绪,若有人知道,请帮我解答一下。 在创建childFragment的时候,我声明Fragment数组后,却一直加入不了,自己写的Fragment类的实例,提示说,我写的xxxFragment类型不对,应该改为Fragment。 这我就有一点纳闷了,我写的xxxFragment是extend Fragment的啊?怎么会出现这样的问题呢?而且同样的写法,在我的一级AFragment里,并没有报错。 我自己的阅读了一下代码,发现AFragment里面,我用的是v4包里的Fragment来创建的fragments[]数组,而xxxFragment里面,使用的是android.app里面的。我本着试一试的态度,将xxxFragment import v4包里的Fragment,但是编译器仍旧报错。 最奇怪的是,过了一会,我又可以愉快的导入v4的包,顺利的定义fragments[]数组了。 虽说有点让人摸不到头脑,但毕竟我是知道有这样的原因导致,不知道有人有同样的经历没有,希望能帮助一下我,让我有一个更加深入的认识。 源代码在这里,感兴趣的可以在自己的手机上安装着,看看效果。 To Be Continue~
最近不知道怎么了,各种Bug缠身,而且还是小到离奇,但又很难查出来的隐性Bug。不过也好,让自己也学习了不少的Android调试技巧。 晚上回来,第一件事就是看王自如VS罗永浩,总感觉刘翔,插不上嘴,也看到了罗胖子喋喋不休,回避一些问题的能力。罗胖子永远不让刘翔插嘴,我看着都心急。 让我又想起来,大一那年看的11度青春系列(对!没错,就是横冲出世的《老男孩》),其实里面的几部短片都很有特点,只是大家都被《老男孩》的成功给遮挡了。那一个系列,也诞生出了现在的《泡芙小姐》。 扯得有点远,反正那一年优酷还是给了新一代影像青年一个很广阔的舞台,让他们展示出自己的想法和态度。也不知道现在还有这样的赞助没,可能也是因为自己已经很少主动的去到优酷上面看视频了吧。 在《幸福59厘米之小马》中,罗胖子子9.40多秒的时候出境,开始了他的人生初秀。这里有热心网友截取的片段。 很难想象,老罗为什么抽那么大的力气。为了投入的演戏,我到觉得不像。就我的理解,我是想着他这是想表达一种,在现实生活中,对于当权者制定的一些霸王条款的反抗,而且是如此强烈的反抗。如同明明是小中大三个杯子,却被硬生生的不解人情不断重复洗脑的中大特大。老罗这样的反抗,我们又有谁可以呢? 截取一人一个,我很喜欢的句子结束: * 我是一个不信邪的人----王自如 * 我不是为了输赢,我就是认真----罗永浩