我知道Xamarin Android中的构造函数难度,如下所述: No constructor found for ... (System.IntPtr, Android.Runtime.JniHandleOwnership)
和所有碎片&活动&我在应用程序中创建的其他自定义视图导入此构造函数。
但有时会在null reference exception
方法中抛出OnCreateView
。
例如:
public class TestView: Android.Support.V4.App.Fragment{
public TestClass _testClass;
public TestView (TestClass testClass)
{
this._testClass = testClass;
}
public TestView(IntPtr javaReference, Android.Runtime.JniHandleOwnership transfer) : base(javaReference, transfer)
{
}
public override Android.Views.View OnCreateView (Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Android.OS.Bundle savedInstanceState)
{
View view = inflater.Inflate (Resource.Layout.Fragment_TestView, container, false);
_testClass.ExecuteTestMethod();
return view;
}
}
这段代码偶尔会在null reference exception
中抛出一个OnCreateView
。这很少发生,从来没有直接从代码创建视图然后测试它。
现在很明显,此代码中唯一可以引发异常的点是_testClass
变量。
所以现在显然我的问题是,OncreateView
方法是否也在调用javaReference
构造函数时执行?