Fragment和Activity

Fragment和Activity的交互  一个Fragment的实例总是和包含它的Activity直接相关。
  fragment可以通过getActivity() 方法来获得Activity的实例,然后就可以调用一些例如findViewById()之类的方法。
  如:
  View listView = getActivity().findViewById(R.id.list);
  但是注意调用getActivity()时,fragment必须和activity关联(attached to an activity),否则将会返回一个null。

  相似的,activity也可以获得一个fragment的引用,从而调用fragment中的方法。
  获得fragment的引用要用FragmentManager,之后可以调用findFragmentById() 或者 findFragmentByTag().
  比如:
  ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment);
Fragment和Activity的生命周期
  activity的声明周期直接影响到fragment的生命周期,比如activity生命周期的回调函数调用时,所有在其中的fragment的相同的回调函数会同时被调用。
  Fragment还有一些额外的生命周期回调函数:
onAttach()
  当fragment和activity被关联时调用。
onCreateView()
  当创建fragment的UI被初始化时调用。
onActivityCreated()
  当activity的onCreate()方法返回时调用。
onDestroyView()
  当fragment的UI被移除的时候调用。
onDetach()
  当fragment和activity去关联时调用。

猜你喜欢

转载自201108180942.iteye.com/blog/1971725