项目中发现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中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复