我有一个有5页的viewpager
在此ViewPager适配器的getView()
方法中,我写道:
MyFragment fragment =new MyFragment(myObject, context);
return fragment;
现在,它正常工作
但是,在特定情况下,MyFragment的onCreateView()
事件不会被触发。
当我调试我的代码时,它会转到Fragment构造函数,但它不会进入onCreateView()
方法。
答案 0 :(得分:1)
实例化片段并不调用其生命周期回调,只有在提交片段事务后才会调用这些方法,例如:
FragmentTransaction transaction = getFragmentManager().beginTransaction();
MyFragment fragment = new MyFragment(myObject, context);
transaction.add(fragment , "some_tag");
transaction.commit();
答案 1 :(得分:0)
第一次创建片段时,会调用一次片段的OnCreateView
方法。但是当您浏览ViewPager
时,片段隐藏,而不是已销毁。因此,当您向后滑动到片段时,系统不会调用onCreateView
,因为片段已已创建。