每次创建新片段时都会触发onCreateView()事件吗?

时间:2015-10-29 11:33:04

标签: android android-fragments

我有一个有5页的viewpager 在此ViewPager适配器的getView()方法中,我写道:

MyFragment fragment =new MyFragment(myObject, context);
return fragment;

现在,它正常工作 但是,在特定情况下,MyFragment的onCreateView()事件不会被触发。

当我调试我的代码时,它会转到Fragment构造函数,但它不会进入onCreateView()方法。

2 个答案:

答案 0 :(得分:1)

实例化片段并不调用其生命周期回调,只有在提交片段事务后才会调用这些方法,例如:

  FragmentTransaction transaction = getFragmentManager().beginTransaction();
  MyFragment fragment = new MyFragment(myObject, context);
  transaction.add(fragment , "some_tag");
  transaction.commit();

答案 1 :(得分:0)

第一次创建片段时,会调用一次片段的OnCreateView方法。但是当您浏览ViewPager时,片段隐藏,而不是已销毁。因此,当您向后滑动到片段时,系统不会调用onCreateView,因为片段已已创建