Fragement进阶学习

来源:互联网 发布:网络灰色项目一天一万 编辑:程序博客网 时间:2024/06/07 15:14


一:用户点击Back,实际是Fragment回退栈不断的弹栈。(FragmentTransaction.addToBackStack(String))

  1. 代码中的用法:

tx.replace(R.id.id_content, fTwo, "TWO");       

 tx.addToBackStack(null);     如果确实该句代码,并不会加入到栈中,点击返回按钮,不会再出现到该页面的


2、Fragment与Activity通信

因为所有的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()。



3.个人感悟

getSupportFragmentManager()是 FragementActivity中的方法

0 0