项目中发现Fragment中的onCreatView()没有立即调用,例如:
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment, new MyFragment());
fragmentTransaction.commit();
fuc(); // 在fragment的onCreatView()前调用
}
在onStart()中创建fragment,并调用executePendingTransactions()方法立即执行。
@Override
protected void onStart(){
super.onStart();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment, new MyFragment());
fragmentTransaction.commit();
fragmentManager.executePendingTransactions();
fuc(); // 在fragment的onCreatView()后调用
}