如果覆盖时 base.OnCreateView(.....) 没有被调用怎么办?
What if base.OnCreateView(.....) is not called when overridden?
这里是继承自fragment的代码。
我在没有 base.OnCreateView (inflater, container, savedInstanceState);
的情况下尝试过,效果很好。有必要打电话吗?
看起来它调用了 Abstract Class 并且应该注册了 View 但我们必须这样做吗?
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()
不会执行任何操作,因为没有实现。此外,此方法 return 的值与其他生命周期方法(如 onCreate()
不同),因此要执行有意义的操作,您必须执行 View blah = super.onCreateView()
否则您将丢弃 return 值.
这里是继承自fragment的代码。
我在没有 base.OnCreateView (inflater, container, savedInstanceState);
的情况下尝试过,效果很好。有必要打电话吗?
看起来它调用了 Abstract Class 并且应该注册了 View 但我们必须这样做吗?
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()
不会执行任何操作,因为没有实现。此外,此方法 return 的值与其他生命周期方法(如 onCreate()
不同),因此要执行有意义的操作,您必须执行 View blah = super.onCreateView()
否则您将丢弃 return 值.