您的位置:首页 > 其它

Fragment中的onCreatView()没有立即调用

2016-06-13 15:38 302 查看
项目中发现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()后调用
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: