这是从fragment继承的代码。
我试过了,但没有base.OnCreateView (inflater, container, savedInstanceState);,效果很好。有必要叫它吗?
看起来它调用了抽象类,并且应该是registers视图,但是我们必须这样做吗?
oncreateview被重写,这里是

public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        base.OnCreateView (inflater, container, savedInstanceState);

        View oView = inflater.Inflate (Resource.Layout.EntityDetailsDialogFragment, container, false);

        return oView;
    }

最佳答案

android是开源的,所以你可以自己检查。这是Fragment.onCreateView()的来源:

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup , @Nullable Bundle savedInstanceState) {
    return null;
}

调用super.onCreateView()不会做任何事情,因为没有实现。此外,此方法返回的值与其他生命周期方法(如onCreate())不同,因此要执行有意义的操作,您必须执行View blah = super.onCreateView(),因为否则您将丢弃返回值。

关于c# - 如果覆盖时未调用base.OnCreateView(...),该怎么办?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28844055/

10-11 22:21