首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Fragment的基本用法介绍

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通信的最佳实践

04
领券