注意我已经检查了非常这个问题的大量“重复”,但没有一个符合该法案,所以请不要将其标记为重复。
我修改了默认向导创建的应用程序(在Android Studio中),尝试在创建后找到占位符片段,如下所示(添加的唯一语句是Log
行):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
Log.d("", "Found fragment: " + getSupportFragmentManager().findFragmentById(R.id.container));
}
然而,日志只会打印出来:
找到片段:null
根据我所读到的文档和类似问题的答案,它应该有效。发生了什么事?
答案 0 :(得分:2)
片段事务尚未执行,但只是安排稍后执行。
在应用程序生命周期中等待super.onStart()
,如果您不耐烦,请致电executePendingTransactions()
。