我是靠谱客的博主 精明香菇,这篇文章主要介绍Fragment中的onCreatView()没有立即调用,现在分享给大家,希望可以做个参考。

项目中发现Fragment中的onCreatView()没有立即调用,例如:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@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()前调用 }


复制代码
1
解决办法:

在onStart()中创建fragment,并调用executePendingTransactions()方法立即执行。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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()后调用 }



最后

以上就是精明香菇最近收集整理的关于Fragment中的onCreatView()没有立即调用的全部内容,更多相关Fragment中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部