使用包含 Button id=button In 的 Fragment 创建应用程序
@Override
protected void onStart() {
super.onStart();
getSupportFragmentManager()
.beginTransaction()
.add(R.id.activity_main, new Testfrag())
.commitNow();
View b = findViewById(R.id.button);
}
onCreateView
b 作为按钮返回,并且在方法结束之前调用片段。但在
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fm= getSupportFragmentManager();
fm.beginTransaction()
.add(R.id.activity_main, new Testfrag())
.commitNow();
View b = findViewById(R.id.button);
}
onCreateView
b 为 null,直到方法结束后才调用片段。这可能是一个“功能”,但文档中没有任何内容。
为什么 commit Now 的行为有所不同onCreate
-onCreateView
直到稍后才调用和 onStart (或任何其他事件处理程序)onCreateView
同步调用?