Fragment使用
1:如何在一个activity中添加fragment
2:如何动态的添加fragment
3:fragment与activity之间的通信
4:fragment的生命周期
1:一个完整的fragment需要有xml文件和java文件
xml文件自己随便加点东西就可以(它与一般的xml文件没啥两样);
java文件需要继承Fragment如下图:
继承Fragment之后重写它的onCreateView()方法,将你的xml添加进去
然后在activity_main中加上fragment:
这样就完成了一个Fragment的添加,按这个步骤再添加一个Fragment,运行程序就可以看到Activity中有两个Fragment了!(如果想要效果明显可以把第二个的Fragment的xml文件更换一个背景哦)
2:动态添加Fragment:
话不多说上代码!
改一下activiy_main
将其中一个改为FrameLayout,属性不用改。
好了现在来看java代码:
前边就是一个按钮点击时间就不再介绍,主要看一下ADD方法里边的内容
ADD方法参数中new了一个Fragment 为下面的添加做准备
先通过getActivity获取一个fragment管理器
然后通过管理器对象新建一个事务对象
最后通过事务对象的replace方法加上要加的fragment和fragment对象
再利用事务对象的commit提交一下就OK了!
注意:transaction.addToBackStack(null);//添加返回栈,按下back后不会直接退出程序,而是返回上一个碎片
现在的效果是你点击有这个按钮的Fragment另一个Fragment才会添加到Activtiy中。
3:fragment与activity之间的通信:
在acivtiy中用到fragment时用下面的方法获取fragment对象:
Fragment_right fragment_right= (Fragment_right) getSupportFragmentManager().findFragmentById(R.id.frame_right);
在fragment中用到activity用下面方法:
MainActivity activity=(MainActivity)getActivtiy;
这里的通信可以自己做个小demo,例如:fragment1点击按钮来设置fragmen2里的TextView
4:Fragment生命周期!!!非常重要!!!!
很重要但是也很简单,需要自己去摸清它的运作方式,这对以后编程工作影响很大,希望刚入门的小伙伴一定将其弄明白。
这里就不做过多的详细解说,你们可以去参考其他的博客,有很多写的很详细的,
最后希望大家都能学好一门技术走向人生巅峰!
本人初学android,写博客也是为了加深记忆,便于以后查看,如果有写的不对的地方,请为我指点迷津!