这两种方法的本质区别是什么?当我创建一个 TextView 时,我应该使用一个而不是另一个来提高性能吗?

编辑:
和有什么区别

onCreateView() {
  root = some view
  View v = new View(some context);
  root.add(v);
  return root;
}


onViewCreated() {
  View v = new View(some context);
  getView().add(v);
}

最佳答案

我们在 onCreateView 中初始化 View 时会遇到一些崩溃。



因为有时 View 没有正确初始化。所以总是在 findViewById 中使用 onViewCreated (当 View 完全创建时),它也将 View 作为参数传递。
onViewCreated 确保 View 已完全创建。



onCreateView ( android.view.LayoutInflater, android.view.ViewGroup , android.os.Bundle ) 返回后立即调用,但在任何保存的状态恢复到 View 之前。一旦他们知道他们的 View 层次结构已经完全创建,这给了子类一个初始化自己的机会。然而此时 fragment 的 View 层次结构并未附加到其父级。

10-08 12:31