前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fragment的基本用法介绍

Fragment的基本用法介绍

作者头像
林老师带你学编程
发布2022-11-30 10:11:46
2330
发布2022-11-30 10:11:46
举报
文章被收录于专栏:强仔仔

1:管理Fragment回退栈 Fragment中FragmentManager主要是用来创建一个事物FragmentTransaction, 然后通过FragmentTransaction这个事物就行Fragment界面的管理。 其中主要有replace add remove hide show detach attach commit等方法 而且这些方法都是由FragmentTransaction来执行的,而FragmentTransaction则是由FragmentManager中的beginTransaction()来创建的出来的 例如: Fragment fragment = new Fragment();         FragmentManager fm = getFragmentManager();         FragmentTransaction tx = fm.beginTransaction();         tx.add(R.id.id_content, fragment "one"); //      tx.addToBackStack(null);         tx.commit(); 从上面例子可以看出有个函数没有讲过,就是tx.addToBackStack(null); 这个addToBackStack(null)看名字就能看出它的大概功能就是加入返回栈。 通俗的来说就是类似于activity中的返回每个activity的功能。 例如我们创建很多的Fragment,此时当我们点击返回按钮时就会用到addToBackStack(null);如果在哪个Fragment中有加入addToBackStack(null)返回队列中就会在点击返回时显示出来,如果没有就不会。 2:Fragment与Activity通信 a、如果你Activity中包含自己管理的Fragment的引用,可以通过引用直接访问所有的Fragment的public方法 b、如果Activity中未保存任何Fragment的引用,那么没关系,每个Fragment都有一个唯一的TAG或者ID,可以通过getFragmentManager.findFragmentByTag()或者findFragmentById()获得任何Fragment实例,然后进行操作。 c、在Fragment中可以通过getActivity得到当前绑定的Activity的实例,然后进行操作。 注:如果在Fragment中需要Context,可以通过调用getActivity(),如果该Context需要在Activity被销毁后还存在,则使用getActivity().getApplicationContext()。 e、Fragment与Activity通信的最佳实践

因为要考虑Fragment的重复使用,所以必须降低Fragment与Activity的耦合,而且Fragment更不应该直接操作别的Fragment,毕竟Fragment操作应该由它的管理者Activity来决定。所以可以通过接口来实现二者之间的调用。这样就不会有很强的耦合了。

这是本人这几天把看到的知识点稍微的总结一下,可能会有歧义。如果想了解更多请点击下面的连接。这位大神写的很完全,可以说是经典。 如果大家想看具体的解释可以去看一下大神的Fragment解释,讲的非常好。 这是链接地址: http://blog.csdn.net/lmj623565791/article/details/37970961

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档