这两种方法的本质区别是什么?当我创建一个 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 层次结构并未附加到其父级。